0
我正在使用Google App腳本中的日期字符串。我將字符串轉換爲日期對象,但在特定日期時遇到困難。新日期()函數爲特定月份創建無效日期(僅限9月,10月)
下面的代碼爲8月,9月,10月和11月創建4個日期,並使用新的Date()將它們轉換爲日期。
function myFunction() {
var date1 = "2016-07-18T13:44:00.000+0000";
var date2 = "2016-08-01T13:44:00.000+0000";
var date3 = "2016-09-01T13:44:00.000+0000";
var date4 = "2016-10-01T13:44:00.000+0000";
var fizedDate1 = dateFix(date1);
var fizedDate2 = dateFix(date2);
var fizedDate3 = dateFix(date3);
var fizedDate4 = dateFix(date4);
return 0;
}
function dateFix(date){
var fixedDate = new Date(date.slice(0,4),parseInt(date.slice(5,7)),date.slice(8,10),parseInt(date.slice(11,13)),date.slice(14,16),date.slice(17,19));
return fixedDate;
}
但是,正如我的調試器顯示,九月(08)和十月(09)的日期是無效的日期。
我試圖改變號碼,新的Date()的所有其它參數,但只有一個月,只爲輸入08和09創建無效的日期。
如何解決這個問題?
該月的參數是從零開始的。在您的日誌中,第一個固定日期表示「Aug」,月份數字爲07.您必須從所有月份數字中減去1。但這可能不是「無效日期」的修正。你應該分出'date.slice(x,x)'參數,並用'Logger.log()'將它們記錄下來,看看發生了什麼。 –
重複的:http://stackoverflow.com/questions/12652305/how-come-parseint08-0-parseint07-7 –