JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptでさまざまな日付形式を扱う方法|サンプルコード付きで解説

JavaScriptで日付を扱う際は、組み込みのDateオブジェクトを使用します。Dateコンストラクタにさまざまな形式の文字列を渡すことで、それぞれの形式に応じた日付オブジェクトを生成できます。ここでは、複数の日付形式を実際にページへ表示するサンプルコードを紹介します。

コード例

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>日付形式のデモ</title>
<style>
body {
   font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.sample {
   font-size: 18px;
   font-weight: 500;
}
</style>
</head>
<body>
<h1>日付形式</h1>
<div class="sample"></div>
<button class="Btn">クリックしてください</button>
<h3>上のボタンをクリックすると、さまざまな日付形式が表示されます</h3>
<script>
let fillEle = document.querySelector(".sample");
let date = [];
date.push(new Date('2020-01-20'));
date.push(new Date('2020-02'));
date.push(new Date('2020'));
date.push(new Date("2015-03-25T12:00:00Z"));
fillEle.innerHTML = date + '<br>';
document.querySelector(".Btn").addEventListener("click", () => {
   date.forEach(item=>{
      fillEle.innerHTML += item + '<br>'
   })
});
</script>
</body>
</html>

コードの解説

このサンプルでは、次の4種類の文字列を引数としてDateオブジェクトを生成し、配列に格納しています。

  • '2020-01-20' … 年・月・日を指定したISO 8601形式
  • '2020-02' … 年と月のみを指定した形式
  • '2020' … 年のみを指定した形式
  • "2015-03-25T12:00:00Z" … 時刻まで含む完全なISO 8601形式(UTC)

生成した日付はページ表示時にまとめて出力され、「クリックしてください」ボタンを押すとforEach()メソッドによって各日付が1行ずつ追記表示されます。

出力結果

JavaScriptでさまざまな日付形式を扱う方法|サンプルコード付きで解説

ボタンをクリックすると −

JavaScriptでさまざまな日付形式を扱う方法|サンプルコード付きで解説

補足:ブラウザ間の差異に注意

日付文字列の解析(パース)動作は、ブラウザによって挙動が異なる場合があります。特に'2020-02''2020'のような省略形式は実装依存となるため、実務ではIntl.DateTimeFormattoLocaleDateString()などを活用して、書式を明示的に指定することをおすすめします。

  1. JavaScriptのDate.@@toPrimitive()関数とは?日付オブジェクトをプリミティブ値に変換する方法

    JavaScriptのDate.@@toPrimitive()関数は、Dateオブジェクトをプリミティブ値に変換するために使用されます。このメソッドはSymbol.toPrimitiveプロパティを通じて呼び出され、引数に指定したヒント(hint)に応じて、文字列や数値など適切なプリミティブ値を返します。 ヒントの種類と戻り値 「default」:日付を表す文字列が返されます。 「number」:1970年1月1日00:00:00 UTCからの経過ミリ秒数(タイムスタンプ)が数値で返されます。 「string」:「default」と同様に、日付を表す文字列が返されます。 サンプルコード 以

  2. JavaScriptのDateコンストラクタープロパティとは?使い方を実例で解説

    JavaScriptのDateコンストラクタープロパティは、その日付オブジェクトを生成した元となるコンストラクター関数(Date())を返すプロパティです。すべてのJavaScriptオブジェクトが持つconstructorプロパティの一つで、Dateオブジェクトに対して使用すると、function Date() { [native code] }という形式の関数定義が出力されます。 このプロパティを活用することで、あるオブジェクトが本当にDateインスタンスであるかを確認したり、動的に新しいDateオブジェクトを生成したりすることができます。以下に、実際の動作を確認できるサンプルコードを紹介