Форматирование даты с Javscript Date().Javascript Дата выпуска вопросов, возвращающихся на 1 день меньше установленной даты - часовой пояс
Справочная информация: Я изменяю дату JQuery UI и получаю проблемы с месяцами и датами, возвращающими неправильные значения.
$('#datefield').datepicker({
beforeShowDay: function(date) {
// issues experienced here - isolation test code below
// Mon Aug 01 2016 00:00:00 GMT+1000 (AUS Eastern Standard Time)
// DateMonth: 8 - ISO: 20160731
}
})
Based JS Date() строительство на http://www.w3schools.com/jsref/jsref_obj_date.asp
Пример кода:
var d1 = new Date();
var d1Month = d1.getMonth()+1;
var d1ISO = d1.toISOString().slice(0,10).replace(/-/g,"");
console.log(d1);
console.log('1Month: '+d1Month+' ISO: '+d1ISO);
var d2 = new Date(2016,06,31);
var d2Month = d2.getMonth()+1;
var d2ISO = d2.toISOString().slice(0,10).replace(/-/g,"");
console.log(d2);
console.log('2Month: '+d2Month+' ISO: '+d2ISO);
var d3 = new Date('2016-07-31');
var d3Month = d3.getMonth()+1;
var d3ISO = d3.toISOString().slice(0,10).replace(/-/g,"");
console.log(d3);
console.log('3Month: '+d3Month+' ISO: '+d3ISO);
var d4 = new Date(2016, 07, 01);
var d4Month = d4.getMonth()+1;
var d4ISO = d4.toISOString().slice(0,10).replace(/-/g,"");
console.log(d4);
console.log('4Month: '+d4Month+' ISO: '+d4ISO);
Output (консоли):
Wed Aug 24 2016 11:30:51 GMT+1000 (AUS Eastern Standard Time)
1Month: 8 ISO: 20160824
*Sun Jul 31 2016 00:00:00 GMT+1000 (AUS Eastern Standard Time)
2Month: 7 ISO: 20160730
Sun Jul 31 2016 10:00:00 GMT+1000 (AUS Eastern Standard Time)
3Month: 7 ISO: 20160731
*Mon Aug 01 2016 00:00:00 GMT+1000 (AUS Eastern Standard Time)
4Month: 8 ISO: 20160731
Почему возвращение 'Д2' 20160730, когда объект возвращается 31 июля?
Почему «d4» возвращается 20160731, если дата установлена 1 августа?
Почему d3 работает правильно?
Мое предположение заключается в том, что дата ISO как-то вычитает GMT + 10 и получает предыдущий день.
Я Осознавая этот шаг (Protoype функция), чтобы попробовать и формат Get String in YYYYMMDD format from JS date object? , но его до сих пор для меня загадка, почему выше производит разные результаты ...
return [this.getFullYear(), !mm[1] && '0', mm, !dd[1] && '0', dd].join('');
w3schools - сайт низкого качества. – RobG