• 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で郵便番号検索を実装できるライブラリ【yubinbang……

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

JSで特定の位置までスクロールされたら要素を固定する方法【s……

2024年04月12日
CSSのstickyのような動きをJSで実装する JavaScriptを使って、「ある要素がページ上部に当たるまでスクロールされたら、その位置でその要素を固定表 […]
サムネイル

JSで自動かな入力補完を実装できるライブラリ【jquery.……

2024年03月15日
jquery.autokana.jsは入力された日本語テキストのふりがな(フリガナ)を自動的に別の欄に入力してくれるJQueryのライブラリです。
サムネイル

JSでページ離脱時にメッセージを出す方法【beforeunl……

2024年03月15日
JavaScriptのイベントであるbeforeunloadを使えばページを離脱する前にメッセージを出して注意を促すことができます。
サムネイル

Javascriptのlightboxライブラリの使い方【画……

2023年10月01日
最終更新日:2023年09月12日
lightboxライブラリでできること Webサイトでは、ユーザーがクリックすると大きい画像が開くという表示方法が良く用いられます。 一覧では小さい画像を並べて […]
サムネイル

HTMLのチェックボックスに選択上限を設ける方法【Javas……

2023年10月01日
最終更新日:2023年09月28日
チェックボックスに選択上限を設けるには、JavaScriptを使ってチェックの数をカウントし設定した数を超えたらチェックできないようにします。