• HOME > 
  • JavaScript > 
  • JSで日付を表示するならtoLocaleDateString...

JSで日付を表示するならtoLocaleDateStringが便利!【和暦も曜日も簡単に】

投稿日:

このページにはGoogleアドセンス広告とアフィリエイト広告が含まれています。

カテゴリー記事のアイキャッチ画像
広告
広告

toLocaleDateStringとは?

toLocaleDateStringは日付のフォーマットを少ないコードで簡潔に行えるメソッドです。20XX年X月X日というような年月日表示はもちろん、曜日の取得や西暦と和暦の変換まで即座に行ってくれます

これまでJavaScriptで日付をフォーマットするときは「new Date()で取得して、年と月と日を取り出して、月には1プラスして、曜日は配列を用意して…」という面倒な方法しかないと思っていたので、このメソッドの存在を知ったときは驚きました。

toLocaleDateStringの使い方は非常に簡単で、下記のように記述します。

JavaScript

var date = new Date();
var format = date.toLocaleDateString("ja-JP");
console.log(format);//20XX/X/X

たったこれだけのコードで年月日を表示することができます。(以前のような年月日をそれぞれ取得して組み合わせるといった煩わしいコードから卒業できます)

toLocaleDateStringの使い方

先ほどの使い方はあくまで基本に過ぎません。

toLocaleDateStringの便利なところはオプションで手軽にフォーマットを変更できるという点にあります。

「/」区切りではなく「年月日」にしたり、年だけ・月だけ取得したいということも自由に設定ができます。

キーと値の組み合わせによってさまざまな表示に切り替わるので詳しくは下部に用意したtoLocaleDateStringシミュレーターを触って確かめてください。

下記のオプションの組み合わせの一例です。このように設定すると「20XX年X月X日」の形式に変換したものを取得できます。

JavaScript

var date = new Date();
var option = {
    year:'numeric',
    month:'short',
    day:'numeric'
};
var format = date.toLocaleDateString("ja-JP",option);
console.log(format);//20XX年X月X日

年・月・日いずれかのみを取得する

オプションを利用すれば年だけや月だけを取り出すことも可能です。

下記のようにオプションにyearだけ記入すれば年だけ取得できます。(不要なものをコメントアウトしてもOK)

JavaScript

var date = new Date();
var option = {
    year:'numeric',
};
var format = date.toLocaleDateString("ja-JP",option);
console.log(format);//20XX年

曜日を表示する

冒頭で触れた曜日の取得はオプションにキー「weekday」を追加するだけです。

値は2種類あり、「long」だと「水曜日」という表記、「short」にすれば「(水)」という省略した表記になります。

JavaScript

var date = new Date();
var option = {
    year:'numeric',
    month:'short',
    day:'numeric',
    weekday:'short'
};
var format = date.toLocaleDateString("ja-JP",option);
console.log(format);//20XX年X月X日(水)

和暦を表示する

toLocaleDateStringを使えば西暦と和暦を変換するのにも面倒な処理を記述する必要はありません。

和暦を表示させるには引数をja-JPからja-u-ca-japaneseに変更します。

引数をja-JPからja-u-ca-japaneseに変更

JavaScript

var date = new Date();
var option = {
    year:'numeric',
    month:'short',
    day:'numeric',
    weekday:'short'
};
var format = date.toLocaleDateString("ja-JP-u-ca-japanese",option);
console.log(format);//令和20XX年X月X日(水)

和暦の形式を変更する

和暦はオプションにキー「era」を追加して形式を変更できます。

「long」にすると漢字で「令和(平成・昭和)」と表示され、「narrow」にするとイニシャル一文字「R(H・S)」が表示されます。

JavaScript

var date = new Date();
var option = {
    era:'narrow',
    year:'numeric',
    month:'short',
    day:'numeric',
    weekday:'short'
};
var format = date.toLocaleDateString("ja-JP-u-ca-japanese",option);
console.log(format);//R20XX年X月X日(水)

引数が「ja-JP」の状態でオプションにeraを設定すると「西暦(AD)」という文字が表示されます。

ハイフンに置き換えるには?【replaceAll】

「20XX/X/X」を「20XX-X-X」という形式に変換したい場合は「replaceAll」メソッドを使います。

replaceAllは特定の文字を別の文字に置き換えることができるので、これを使って「/」を「-」に置き換えます。

なお「replace」というメソッドもありますが、こちらは該当する文字が複数存在してもひとつしか置き換えることができないので、今回のように「/」を「-」にすべて置き換えるには「replaceAll」を使用します。

JavaScript

var testDate = new Date();
var test = testDate.toLocaleDateString("ja-JP");//20XX/X/X
var replace = test.replaceAll("/","-");//「/」を「-」に置き換え⇒20XX-X-X
console.log(replace);

toLocaleDateStringシミュレーター

オプションの組み合わせによる表示の違いが確認でき、同時にソースコードも生成するシミュレーターを作りました。

※動作に不備がある可能性もあるので参考程度にご利用ください。

日付を選択
西暦⇔和暦
option
キー
era(西暦和暦の形式)
year(年)
month(月)
day(日)
weekday(曜日)
結果
ソースコード

まとめ

以上がtoLocaleDateStringを使って日付のフォーマットを行う方法です。

これさえ覚えてしまえば日付の表示に手間取ることはありません。知らなかった方は是非試してみてください。

広告
広告

関連する記事

サムネイル

JSでセレクト値が変更されたらフォームを送信を実行する方法【……

2024年07月02日
ユーザーがセレクトボックスの値を変更したタイミングでフォームの送信を実行するという処理を実装する機会があったので、その方法を備忘録として残しておきます。
サムネイル

JSでチェックボックスの全選択全解除を行う方法【すべて選択】

2024年07月02日
フォームのチェックボックスの数が多いときにあると便利な、ワンクリックで全選択や全解除できる機能をJavaScriptで作る機会があったので、その方法を備忘録として残します。
サムネイル

JSで配列の重複チェックを行う【Setオブジェクトを利用】

2024年07月02日
JavaScriptで配列の中に重複する値が存在するか判定したい状況があり、その時に調べたことを備忘録として残しておきます。今回は単純に重複しているかどうかだけ分かればよかったので、「Setオブジェクト」を使って重複チェックを行う方法を選びました。
サムネイル

JSのkeyup・keydown・keypressの違い【キ……

2024年06月13日
JavaScriptの「keyup」「keypress」「keydown」はいずれもユーザーのキーボードイベントを処理したい時に使用します。それぞれ処理が発火するタイミングなどに違いがあるので、用途に応じた使い分けが必要です。
サムネイル

JSでテキストボックスに入力された値を即時取得する【this……

2024年06月13日
ユーザーがinputのテキストボックスに入力した値をJavaScriptを使って即時取得して処理させたい状況がありましたので、その方法を備忘録として残しておきます。
サムネイル

JavaScriptで偶数と奇数を判定する方法【テーブルの行……

2024年05月16日
ある数値が偶数か奇数かは、「数値を2で割って余りが0なら偶数」「数値を2で割って余りが0でなければ奇数」という方法で判別を行います。
サムネイル

JSで郵便番号検索を実装できるライブラリ【yubinbang……

2024年04月12日
yubinbango.jsは郵便番号検索(郵便番号を打ち込むと住所が自動入力される)機能を簡単に実装できるのライブラリです。一実装方法がとても簡単なのでメールフォームなどに手軽に郵便番号検索機能を導入したい方におすすめです。