JavaScriptでISO形式の日付文字列を生成する方法!初心者でも簡単に理解
生徒
「JavaScriptで日付を保存したいんですけど、ISO形式って何ですか?」
先生
「ISO形式とは、国際標準化機構(ISO)が定めた日付と時間の書き方で、'2025-11-18T10:30:00.000Z' のような形です。コンピュータ同士で日時をやり取りするときに便利です。」
生徒
「具体的にJavaScriptで作る方法はありますか?」
先生
「はい、Dateオブジェクトを使うと簡単に生成できます。それでは手順を詳しく解説します。」
1. Dateオブジェクトで現在日時を取得する
まず、JavaScriptで現在の日時を扱うにはDateオブジェクトを作成します。Dateオブジェクトは日付と時間の情報を持つ特別なオブジェクトです。
const now = new Date();
console.log(now);
2025-11-18T10:30:00.000Z
このように現在の日時が取得できます。ISO形式は自動でこの形式になります。
2. toISOString()メソッドでISO形式の文字列を作成
JavaScriptのDateオブジェクトにはtoISOString()というメソッドがあります。これを使うと、ISO形式の文字列を簡単に作ることができます。
const now = new Date();
const isoString = now.toISOString();
console.log(isoString);
2025-11-18T10:30:00.000Z
このtoISOString()を使うと、年月日や時分秒がすべてISO形式で統一されるため、データベースやAPIに送るときに非常に便利です。
3. 特定の日付でISO形式を生成する
任意の日付をISO形式にしたい場合は、Dateオブジェクトを作成するときに年、月、日、時、分、秒を指定します。
const customDate = new Date(2025, 10, 18, 15, 45, 30); // 月は0から始まるので11月は10
const isoString = customDate.toISOString();
console.log(isoString);
2025-11-18T06:45:30.000Z
ここで注意したいのは、JavaScriptでは月が0から始まる点です。0が1月、10が11月になります。また、ISO形式ではタイムゾーンが自動でUTC(協定世界時)に変換されます。
4. ISO形式を応用して日付を保存・送信
ISO形式の日付文字列は、データベースやAPIとの通信で広く使われています。例えば、ユーザーの登録日時や注文日時など、正確な時刻を扱いたい場合に重宝します。
const orderDate = new Date();
const isoOrderDate = orderDate.toISOString();
fetch('/api/orders', {
method: 'POST',
body: JSON.stringify({ orderDate: isoOrderDate }),
headers: { 'Content-Type': 'application/json' }
});
このようにISO形式を使うことで、世界中どこでも正確な時刻情報をやり取りでき、タイムゾーンによるズレを防ぐことができます。
5. まとめに代わるワンポイント
JavaScriptでISO形式の日付文字列を生成する方法は、DateオブジェクトとtoISOString()メソッドを使うだけで簡単です。現在日時でも任意の日時でもISO形式に変換できるので、プログラムやAPI開発で必ず役立つスキルになります。
また、タイムゾーンが自動でUTCになることを理解しておくと、国際的なアプリケーション開発でも安心です。初心者でもすぐに使える便利なテクニックなので、ぜひ試してみてください。
この記事の本文の日本語文字数(サンプルコード除く)は:2,804文字