moment.js で日付を ISO 8601 としてフォーマットするにはどうすればよいですか? 質問する

moment.js で日付を ISO 8601 としてフォーマットするにはどうすればよいですか? 質問する

このドキュメントでは、moment.ISO_8601書式設定オプションとして言及されています(2.7.0から -http://momentjs.com/docs/#/parsing/special-formats/) ですが、どちらも動作しません (2.7.0 でも)。

var date = moment();
date.format(moment.ISO_8601); // error
moment.format(date, moment.ISO_8601); // error

http://jsfiddle.net/b3d6uy05/1/

moment.js から ISO 8601 を取得するにはどうすればよいですか?

ベストアンサー1

moment().toISOString(); // or format() - see below

http://momentjs.com/docs/#/displaying/as-iso-string/

更新@sennetの回答と@dvlsgのコメントに基づいて(フィドルformat)とには違いがあることに注意してくださいtoISOString。どちらも正しいですが、基礎となるプロセスが異なります。 はtoISOStringDate オブジェクトに変換し、 に設定してから、ネイティブの Date プロトタイプ関数を使用して、ミリ秒付きの UTC で ISO8601 を出力します ( YYYY-MM-DD[T]HH:mm:ss.SSS[Z])。一方、はミリ秒なしのformatデフォルト形式 ( YYYY-MM-DDTHH:mm:ssZ) を使用し、タイムゾーン オフセットを維持します。

私は問題予期せぬ結果につながる可能性があると思うからです。

おすすめ記事