В этом примере кода, чтобы преобразовать строку в дату:Почему .setUTCFullYear() и .setUTCMonth() возвращать разные результаты
function stringToDate(){
var edate = "2015-06-01";
Logger.log(edate);
var input = edate.split('-');
var date = new Date();
date.setUTCFullYear(input[0],input[1] - 1,input[2]);
Logger.log(date);
}
Logging возвращается дата «Вт Июл 01 20:07:45 GMT +01: 00 2015 », что верно, поскольку месяц« 06 »- 1 = 5 соответствует месяцу июня для этого.
Однако это почти идентична функции:
function stringToDate2(){
var edate = "2015-06-01";
Logger.log(edate);
var input = edate.split('-');
var date = new Date();
date.setUTCFullYear(input[0]);
date.setUTCMonth(input[1] - 1);
date.setUTCDate(input[2]);
Logger.log(date);
}
Возвращения "ср 1 июля 20:10:04 GMT + 01: 00 2015". Некоторые другие значения возвращают одинаково жуткие результаты. Почему я получаю другой результат для 'setUTCMonth', а затем для 'setUTCFullYear'?
Установите переключатель UTCDate первый то UTCMonth –
Но почему это решить ее? Я не понимаю, почему вам нужно будет установить день до месяца. Это кажется произвольным. – HDCerberus