.format()
は、ミリ秒なしで相対的なタイムゾーンを出力します。例:
> moment(1469141760123).format()
'2016-07-21T15:56:00-07:00'
.toISOString()
はUTCWITHミリ秒を出力します
> moment(1469141760123).toISOString()
'2016-07-21T22:56:00.123Z'
.format('YYYY-MM-DDTHH:mm:ss.SSSZ')
は、相対的なWITHミリ秒のタイムゾーンを出力します
> moment(1469141760123).format('YYYY-MM-DDTHH:mm:ss.SSSZ')
'2016-07-21T15:56:00.123-07:00'
ミリ秒のないデフォルトのタイムゾーンはかなり役に立たないと思いますが、それを含めるためだけに毎回完全な形式を書き出す必要はないと思います。 デフォルトのフォーマット出力を設定できると便利です。
// set the default
moment.setDefaultFormat('YYYY-MM-DDTHH:mm:ss.SSSZ');
// or
moment.format.setDefault('YYYY-MM-DDTHH:mm:ss.SSSZ');
moment(1469141760123).format(); // '2016-07-21T15:56:00.123-07:00'
フォーマットドキュメントの下部にある「デフォルトフォーマット」セクションを参照してください。 それはこのように動作します:
> moment.defaultFormat
'YYYY-MM-DDTHH:mm:ssZ'
> moment.defaultFormatUtc
'YYYY-MM-DDTHH:mm:ss[Z]'
> moment.defaultFormat = "YYYY"
'YYYY'
> moment().format()
'2016'
moment.defaultFormatはreadOnlyプロパティであり、設定できません。 defaultFormatを設定する方法は?
最も参考になるコメント
フォーマットドキュメントの下部にある「デフォルトフォーマット」セクションを参照してください。 それはこのように動作します: