2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

UTCの日付をISO8601基本方式で出力する方法

Posted at

アプリケーション開発中に日付を 基本形式のISO8601@UTC で出力する必要があったのですが、
世の中の様々なライブラリのでISO8601出力をすると 拡張形式ISO8601 になってしまったので色々と苦労しました、

// Good(ISO8601 基本形式)
const dateStrOk = "20210801T100000Z"

// Bad(ISO8601 拡張形式)
const dateStrNg = "2021-08-01T10:00:00Z"

結論としては momentdate-fns を使って以下のように実装することができました。
プロジェクトの制約上 date-fnsformat を使わないといけなかったのですが、
恐らく momentformat でも実装できると思います。(未検証)

import moment from "moment";
import format from "date-fns";

const ISO_8601_BASIC = "yyyyMMDDTHHmmss";
const dateStr = moment(new Date()).utc().format(ISO_8601_BASIC)
console.log(dateStr) //20210801T100000Z

rRuleのライブラリなどを使う際必要になるので、お困りの方の力に慣れれば幸いです。
もし、もっといい方法あるよ!という方いらっしゃったら是非教えて下さい。

2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?