JavaScriptで日付をフォーマットして表示する方法

JavaScriptで日付を一定のフォーマットで表示する方法について説明します。

yyyy年mm月dd日(曜日)のフォーマットで日付を表示する

例えば、yyyy年mm月dd日(曜日)というフォーマットで現在の日付を表示する場合、次のようなプログラムになります。

var date = new Date();         // 現在日時を生成
var yyyy = date.getFullYear(); // 西暦を取得
var mm = date.getMonth() + 1;  // 月を取得(返り値は実際の月-1なので、+1する)
var dd = date.getDate(); // 日を取得
var w = date.getDay();   // 曜日を取得(数値)

// 月と日が一桁の場合は先頭に0をつける
if (mm < 10) {
    mm = "0" + mm;
}
if (dd < 10) {
    dd = "0" + dd;
}

// 曜日を数値から文字列に変換するための配列
week = ["日", "月", "火", "水", "木", "金", "土"];  

var result = yyyy + "年" + mm + "月" + dd + "日" + "(" + week[w] + ")"; // フォーマットを整えて表示

console.log(result);

Dateオブジェクトから現在日時を生成し、西暦、月、日、曜日をそれぞれ取得します。getMonth()は実際の月-1が返されるので、+1します。getDay()は日曜日が0、月曜日が1・・というように曜日に対応した0〜6の数値を返します。

月と日が一桁の場合は、if文を使って先頭に0を連結してフォーマットします。

曜日は数値で返されるので、配列を使って実際の曜日に変換します。最後に年、月、日、(曜日)を連結して表示しています。


イベント