勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

JavaScriptで日時のフォーマットをISO 8601型とDateTime型を相互に変換する方法

  JavaScript

先日PHPで日時のフォーマットをISO 8601型とDateTime型を相互に変換する方法をメモしたが、同じようなことをJavaScriptで行いたい。調べたところバニラJSだと面倒くさいものの「Day.js」ライブラリを使用することで簡単に対応に実装できる模様。以下にソースコードをメモ。

 

Day.js

公式サイト

https://day.js.org/

ドキュメント

https://day.js.org/docs/en/installation/installation

導入方法(CDN)

公式案内通り以下でCDN呼び出しできる。

<script src="https://cdn.jsdelivr.net/npm/dayjs@1/dayjs.min.js"></script>

異なるバージョンが良い場合は以下から探す。

https://cdnjs.com/libraries/dayjs

 

ソースコード

ISO 8601→DateTime

const date = '2024-05-30T07:56:26Z'
console.log(dayjs(date).format('YYYY-MM-DD HH:mm:ss')); //2024-05-30 16:56:26

DateTime→ISO 8601

const date = '2024-05-30 16:56:26';
console.log(dayjs(date).subtract(9, 'hour').format('YYYY-MM-DDTHH:mm:ss[Z]')); //2024-05-30T07:56:26Z

 - JavaScript

  関連記事

バニラJavaScriptでリッチなセレクトメニュー(プルダウン)を実装できる「Choices.js」の利用方法

サジェストや複数選択等、機能付きのセレクトメニュー(プルダウン)を実装する際、今 ...

JavScriptでalertを閉じた後にページ遷移させる方法

JavaScriptのalertが閉じたらページ遷移させてほしいと言われ、con ...

jQueryでユーザーが編集可能な文字列をページ上に表示する際にエスケープする方法

GETパラメータを取得し、その内容をページ上に表示したいケースがあった。また、A ...

Video.jsで動画再生開始時と終了時に指定したアクションを発火させる方法

以前にYouTube埋め込み動画が再生終了したタイミングでJavaScriptの ...

Leafletで「Leaflet.markercluster」プラグインを導入してマーカークラスタ機能を追加する方法

LeafletとOpenStreetMapでマップ上にマーカーを複数設置した上で ...