2016-12-26 10 views
0

私はmoment 2.16.0を使用しています。 toDate()format()メソッドの結果が異なります。ここにはjsfiddleがあります。momentjs toDate()date返り値はformat()と同じではありません。

コード: -

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

あなたの操作のすべてはあなたにUTCに文字列を与えるtoISOString、以外現地時間で瞬間を使用しています。あなたのタイムゾーンはUTCからオフセットされているので、現地時間文字列(format)とUTC時刻文字列(toISOString)は当然異なります。ここ

私は2016-12-01T00のような代たい:00:00.000Z

その瞬間インスタンスが何を表すかは異なる時間になります。

ローカルタイムでISO-8601形式が、で何かをしたい場合は、フォーマットトークンの適切なセットでformatを使用できますが、最後にZをワンませんので、もう一度、あなたの」 UTC( "ズールー")時間を扱わないで、あなたは現地時間を扱っています。

moment().format("YYYY-MM-DDThh:mm:ss.SSS") 
関連する問題