HTML で今日の日付を取得する

Subodh Poudel 2023年9月5日
  1. JavaScriptのDate()関数を使用してHTMLで現在の日付を取得する
  2. HTMLでy/m/d形式で現在の日付を取得する
  3. JavaScriptのメソッドtoLocaleDateString()を使用して現在の日付を取得する
  4. 現在の日付のフォーマット
  5. Moment.jsを活用した現在の日付の取得
HTML で今日の日付を取得する

この記事では、HTMLで現在の日付を取得するためのいくつかの方法を紹介します。

今日の高速なデジタルワールドでは、情報が常に更新されている状況下で、ウェブサイトに現在の日付を表示することは、訪問者にとって貴重な文脈を提供することができます。

ブログ、ニュースサイト、またはイベントプラットフォームを運営している場合でも、現在の日付は、情報が最後に更新されたか公開されたかを訪問者に理解させるのに役立ちます。

さらに、現在の日付はリアルタイムのインタラクション感を追加することによって、ユーザーエクスペリエンスを円滑にすることにも寄与できます。

異なるタイムゾーンから参加する国際的なオンライン会議を組織していると考えてみてください。

各参加者の現地時間での現在の日付と時刻を会議のスケジュールに表示することで、どの場所にいてもセッションがいつ行われるかが誰もがわかるようになります。

JavaScriptのDate()関数を使用してHTMLで現在の日付を取得する

JavaScriptのDate()関数を使用して現在の日付を取得することができます。この関数は現在の日付と時刻を返します。HTMLのコンテナを作成し、JavaScriptを使用してその中に現在の日付を表示することができます。日付をHTMLに書き込むためにinnerHTMLプロパティを使用します。

例えば、div要素を作成し、そのidをcurrent_dateに設定します。そして、scriptタグ内にJavaScriptのコードを記述します。getElementByIdプロパティを使用してcurrent_idを選択し、Date()関数を呼び出します。返された日付をHTMLに書き込むためにinnerHTMLプロパティを使用します。

以下の例は、出力セクションに示されている通り、現在の日付と時刻を表示します。出力には曜日、月、日、年、時、分、秒、GMT、および場所に関する情報が含まれています。

例のコード:

<div id="current_date">
    <script>
        document.getElementById("current_date").innerHTML = Date();
    </script>
</div>

HTMLでy/m/d形式で現在の日付を取得する

JavaScriptのDate()メソッドを使用して、y/m/d形式の現在の日付を取得することもできます。getFullYear()メソッドから現在の年を取得し、getMonth()メソッドから現在の月、そしてgetDate()メソッドから現在の日を取得できます。このメソッドでは、これらの異なるメソッドにアクセスするためにDate()オブジェクトを使用します。日付を任意の方法でフォーマットし、innerHTMLプロパティを使用してHTMLページに表示することができます。

例えば、上記の方法と同じidを持つdiv要素を作成します。JavaScriptでは、Date()クラスのdateオブジェクトを作成します。次に、yearmonthdayという3つの変数を作成します。dateオブジェクトを使用してgetFullYear()getMonth()getDate()メソッドを呼び出し、それぞれの変数に格納します。次に、documentオブジェクトを使用してdivのidを選択し、innerHTMLをスラッシュで区切られた変数monthday、およびyearに設定します。

このようにして、JavaScriptのDate()クラスを使用してHTMLでy/m/d形式の現在の日付を取得できます。

例のコード:

<div id="current_date">
    <script>
        date = new Date();
        year = date.getFullYear();
        month = date.getMonth() + 1;
        day = date.getDate();
        document.getElementById("current_date").innerHTML = month + "/" + day + "/" + year;
    </script>
</div>

JavaScriptのメソッドtoLocaleDateString()を使用して現在の日付を取得する

JavaScriptの関数toLocaleDateString()を使用して現在の日付を取得することができます。toLocaleDateString()関数は、関数に指定された言語に応じた現在の日付を返します。さまざまな言語固有の慣習があり、toLocaleDateString()関数で言語を定義できます。関数は2つのパラメータ、つまりlocalesoptionsを受け取ります。出力の言語をlocalesオプションで指定できます。たとえば、米国英語にはen-USを、イギリス英語にはen-GBを使用できます。

例えば、div要素を作成し、その中にscriptタグを記述します。Date()クラスのdateオブジェクトを作成し、toLocaleDateString()メソッドを呼び出します。次に、document.write()を使用してdate変数を表示します。

出力はm/d/y形式で表示されます。したがって、toLocaleDateString()メソッドを使用してHTMLで現在の日付を取得できます。

例のコード:

<div>
    <script>
        date = new Date().toLocaleDateString();
        document.write(date);
    </script>
</div>

現在の日付のフォーマット

y/m/d形式やtoLocaleDateString()メソッドについて説明しましたが、さらに幅広いフォーマットの可能性を探ってみましょう。これにより、読者は日付表示を多様な方法でカスタマイズできるようになります:

曜日の表示

表示される日付の理解を深めるために、曜日名を組み込むことを考えてみましょう。JavaScriptのgetDay()メソッドは、数値値として曜日を返します(日曜日は0、月曜日は1など)。これらの数値を対応する曜日名にマッピングすることで、より情報量の多い結果を提供できます。

<div id="current_date">
    <script>
        const daysOfWeek = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
        const date = new Date();
        const dayName = daysOfWeek[date.getDay()];
        document.getElementById("current_date").innerHTML = `${dayName}${date.toLocaleDateString()}`;
    </script>
</div>

人間が読みやすいフォーマット

自然な人間向けの日付表示のために、toLocaleDateString()メソッドを使用して月と日を記述的な形式で表示できます。

<div id="current_date">
    <script>
        const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
        document.getElementById("current_date").innerHTML = new Date().toLocaleDateString('ja-JP', options);
    </script>
</div>

Moment.jsを活用した現在の日付の取得

日付と時刻の操作に特化した広く支持されるJavaScriptライブラリであるMoment.jsは、多様なフォーマットオプションを提供しています。この柔軟性により、日付表示をウェブサイトのデザインにシームレスに組み込むことができます。

前述の例に加えて、Moment.jsが提供するさまざまなフォーマットオプションをいくつか見てみましょう:

カスタム日付フォーマット

Moment.jsを使用すると、さまざまなプレースホルダを組み合わせてカスタム日付フォーマットを作成できます。たとえば、次のコードは日付をYYYY-MM-DDとして表示します:

<div id="current_date">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
    <script>
        const formattedDate = moment().format('YYYY-MM-DD');
        document.getElementById("current_date").innerHTML = formattedDate;
    </script>
</div>

相対時間

Moment.jsを使用すると、相対的なフォーマットで日付を表示できます。数秒前、5分後、2日前などの形式で時間間隔を表現し、ユーザーの即時感覚を高めることができます。

<div id="current_date">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
    <script>
        const formattedDate = moment().fromNow();
        document.getElementById("current_date").innerHTML = `最終更新:${formattedDate}`;
    </script>
</div>

ローカライズされたフォーマット

Moment.jsは包括的なローカライズ機能を備えており、さまざまな言語や文化的な好みに対応しています。希望するロケールを指定することで、異なる地域の慣習に合った日付表示を実現できます。

<div id="current_date">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment-with-locales.min.js"></script>
    <script>
    // 希望するロケールを設定
    moment.locale('ja'); // 日本語

    const formattedDate = moment().format('LL'); // ローカライズされた長い形式で日付を表示
    document.getElementById("current_date").innerHTML = formattedDate;
    </script>
</div>

カレンダータイム

Moment.jsは、カレンダータイムとして日付を表現する能力も提供しており、日、月、年の文脈を明確に示します。

<div id="current_date">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
    <script>
        const formattedDate = moment().calendar();
        document.getElementById("current_date").innerHTML = `今日の日付:${formattedDate}`;
    </script>
</div>

Moment.jsの機能を活用することで、日付をさまざまな方法でフォーマットするだけでなく、動的な、言語に特有の、文化的に適合する特徴を日付表示に与えることができます。

このライブラリは、ウェブコンテキストで日付を表示するニュアンスに合わせた機能の幅広い範囲を提供することで、ツールキットを豊かにする一方、ウェブサイトのデザインと一致した多くの機能を提供します。

著者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn