2016-12-26 751 views
0

我正在使用moment 2.16.0並希望從月的開始日期。有不同的結果toDate()format()方法。這裏是jsfiddlemomentjs toDate()日期返回不同於格式()日期

代碼: -

var time=moment().subtract(0,'months').startOf("month").format(); 
console.log(time); //2016-12-01T00:00:00+05:30 

var time2=moment().subtract(0, 'months').endOf("month").format(); 
console.log(time2); //2016-12-31T23:59:59+05:30 

var time=moment().subtract(0,'months').startOf("month").toISOString(); 
console.log(time); //2016-11-30T18:30:00.000Z here i want somethings like 2016-12-01T00:00:00.000Z 


var time2=moment().subtract(0, 'months').endOf("month").toISOString(); 
console.log(time2); // 2016-12-31T18:29:59.999Z here i want somethings like 2016-12-31T59:59:59.000Z 

回答

1

工作的所有使用與瞬間當地時間除了toISOString,這將給你在UTC的字符串。由於你的時區偏離了UTC,所以本地時間字符串(從format)和UTC時間字符串(從toISOString)是非常不同的。

在這裏,我想有些事情就像2016-12-01T00:00:00.000Z

這將是從什麼那一刻實例代表不同的時間。

如果你想在當地時間的ISO-8601格式的東西,你可以用format與適當的格式標記的,但你沒有在最後灣Z因爲,同樣,你」不要處理UTC(「祖魯」)時間,你正在處理當地時間。

moment().format("YYYY-MM-DDThh:mm:ss.SSS")