このドキュメントでは、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
。どちらも正しいですが、基礎となるプロセスが異なります。 はtoISOString
Date オブジェクトに変換し、 に設定してから、ネイティブの Date プロトタイプ関数を使用して、ミリ秒付きの UTC で ISO8601 を出力します ( YYYY-MM-DD[T]HH:mm:ss.SSS[Z]
)。一方、はミリ秒なしのformat
デフォルト形式 ( YYYY-MM-DDTHH:mm:ssZ
) を使用し、タイムゾーン オフセットを維持します。
私は問題予期せぬ結果につながる可能性があると思うからです。