EJSで日付をフォーマット処理

EJSで日付をフォーマット処理

EJSで日付をフォーマットするには、JavaScriptの日付メソッドを使うか、外部ライブラリを活用する方法があります。
例えば、以下のようにして日付をフォーマットできます。

1. JavaScriptのDateオブジェクトを使う方法

EJSテンプレート内で、JavaScriptのDateオブジェクトを利用して日付をフォーマットすることができます。
以下はその一例です。

<% 
  // 日付を取得
  const date = new Date();

  // 年、月、日を取得
  const year = date.getFullYear();
  const month = String(date.getMonth() + 1).padStart(2, '0');
  const day = String(date.getDate()).padStart(2, '0');

  // フォーマットする
  const formattedDate = `${year}-${month}-${day}`;
%>

<p>フォーマットされた日付: <%= formattedDate %></p>

2. 外部ライブラリを使う方法

例えば、moment.jsやdate-fnsなどのライブラリを使うと、より柔軟に日付をフォーマットできます。
以下はmoment.jsを使った例です。

1. moment.jsをインストール(プロジェクトでnpmを使用している場合)

npm install moment

2. EJSテンプレートでmoment.jsを使用

<% 
  const moment = require('moment');
  const date = moment().format('YYYY-MM-DD');
%>

<p>フォーマットされた日付: <%= date %></p>

3. 日付フォーマットのカスタマイズ

moment.jsやdate-fnsなどのライブラリを使えば、日付のフォーマットをさらにカスタマイズすることができます。
たとえば、moment.jsで「YYYY年MM月DD日」の形式にする場合は以下のように書けます。

<%
  const moment = require('moment');
  const date = moment().format('YYYY年MM月DD日');
%>

<p>フォーマットされた日付: <%= date %></p>

必要に応じて、適切な方法を選んでください。