JavaScript の Date オブジェクトの文字列表示

toString() Date オブジェクトの文字列表示

Date オブジェクトの toString() メソッドを使うと、Date オブジェクトが保持している時刻をタイムゾーン付きのローカル時間で表示します。

let d = new Date(2020, 2, 1)
console.log(d.toString())
// Sun Mar 01 2020 00:00:00 GMT-0800 (Pacific Standard Time)

toDateString() Date オブジェクトの日付表示

Date オブジェクトの toDateString() メソッドを使うと、Date オブジェクトが保持している日付をローカル時間で表示します。

let d = new Date(2020, 2, 1)
console.log(d.toDateString())
// Sun Mar 01 2020

toTimeString() Date オブジェクトの時間表示

Date オブジェクトの toTimeString() メソッドを使うと、Date オブジェクトが保持している時刻の日付を除いた時間部分をタイムゾーン付きのローカル時間で表示します。

let d = new Date(2020, 2, 1, 10, 15, 30)
console.log(d.toTimeString())
// 10:15:30 GMT-0800 (Pacific Standard Time)

toISOString() Date オブジェクトの ISO 時間表示

Date オブジェクトの toISOString() メソッドを使うと、Date オブジェクトが保持している時間を ISO 時刻 (ISO 8601) で表示します。

let d = new Date(2020, 2, 1, 10, 15, 30)
console.log(d.toISOString())
// 2020-03-01T18:15:30.000Z

toUTCString() UTC タイムゾーンの時刻表示

Date オブジェクトの toUTCString() メソッドを使うと、 Date オブジェクトが表す時刻の標準時を次のフォーマットで返します。

Www, dd Mmm yyyy hh:mm:ss GMT

これは SMTP プロトコルなどのタイムスタンプとして見られる標準的な形式です。(RFC 2821)

let d = new Date(2020, 2, 1, 10, 15, 30)
console.log(d.toUTCString())
// Sun, 01 Mar 2020 18:15:30 GMT

toJSON() JSON で使用できる時刻文字列

Date オブジェクトの toJSON() メソッドを使うと、 JavaScript のオブジェクトリテラルで使用できる日時の文字列を返します。

let d = new Date(2020, 2, 1, 10, 15, 30)
console.log(d.toJSON())
// 2020-03-01T18:15:30.000Z

JSON の日時のフォーマットは ISO 時刻と同じになります。

toLocaleString() ロケールに応じた日時文字列

Date オブジェクトの toLocaleString() メソッドを使うと、Date オブジェクトが保持する時刻をロケールとオプションに応じた形式に変換して表示します。

Node.js でロケールに対応するには full-icu パッケージをインストールします。

npm i full-icu

その上でスクリプト実行時に、 --icu-data-dir=node_modules/full-icu を指定してスクリプトを実行します。 package.json で start スクリプトを利用している場合は次のように書いておきます。

  "scripts": {
    "start": "node --icu-data-dir=node_modules/full-icu index.js"
  },

第二引数に渡すオプションによって、結果となる文字列が変わります。オプションの種類は次のサンプルコードのコメントで記載しています。

let d = new Date(2020, 2, 1, 10, 15, 30)
const options = {
  dateStyle: 'full', // full, long, medium, short
  timeStyle: 'full', // full, long, medium, short
  // localeMatcher: 'lookup', // 'best fit', 'lookup'
  // formatMatcher: 'basic', // 'basic', 'best fit'
  // weekday: 'long',   // long, short, narrow
  // year: 'numeric',   // 2-digit, numeric
  // month: 'long',     // 2-digit, long, narrow, numeric, short
  // day: 'numeric',    // 2-digit, long, numeric
  // hour: '2-digit',   // 2-digit, numeric
  // minute: '2-digit', // 2-digit, numeric
  // second: '2-digit', // 2-digit, numeric
  // hour12: true,      // true / false
  // hourCycle: 'h12', // h11, h12, h23, h24
  // timeZone: 'UTC',
  // timeZoneName: 'short'  // short, long
}
console.log(d.toLocaleString('ja-JP', options))
// 2020年3月1日日曜日 10時15分30秒 アメリカ太平洋標準時
console.log(d.toLocaleString('en-US', options))
// Sunday, March 1, 2020 at 10:15:30 AM Pacific Standard Time

toLocaleDateString() ロケールに応じた日付文字列

Date オブジェクトの toLocaleDateString() メソッドを使うと、Date オブジェクトが保持する時刻をロケールとオプションに応じた形式に変換して表示します。

第二引数のオプションを省略した場合、指定したロケールに対するデフォルトの日付フォーマットで文字列を返します。

let d = new Date(2020, 2, 1, 10, 15, 30)
const options = {
  dateStyle: 'full', // full, long, medium, short
}
console.log(d.toLocaleDateString('ja-JP', options))
// 2020年3月1日日曜日
console.log(d.toLocaleDateString('en-US', options))
// Sunday, March 1, 2020

toLocaleTimeString() ロケールに応じた時刻文字列

Date オブジェクトの toLocaleTimeString() メソッドを使うと、Date オブジェクトが保持する時刻をロケールとオプションに応じた形式に変換して表示します。

第二引数のオプションを省略した場合、指定したロケールに対するデフォルトの時刻フォーマットで文字列を返します。

let d = new Date(2020, 2, 1, 10, 15, 30)
const options = {
  timeStyle: 'full', // full, long, medium, short
}
console.log(d.toLocaleTimeString('ja-JP', options))
// 10時15分30秒 アメリカ太平洋標準時
console.log(d.toLocaleTimeString('en-US', options))
// 10:15:30 AM Pacific Standard Time

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 JavaScript 入門