日付から元号・和暦と曜日を取得
JavaScriptで日付型から元号・和暦と曜日を取得する方法の説明です。
曜日の取得
toLocaleString が使えるなら、日本語を指定してweekdayをshortにすると曜日が日本語でとれます。
function getWeekdayName(date){
return date.toLocaleString('ja-JP', {weekday: 'short'});
}
console.log(getWeekdayName(new Date())); // 土
getDay()
で曜日を0~6の数値で取得することもできます(0が日曜日、1以降が月です)。
function getWeekdayName(date){
const names = ['日', '月', '火', '水', '木', '金', '土'];
return names[date.getDay()];
}
console.log(getWeekdayName(new Date())); // 日
元号・和暦の取得
こちらもtoLocaleStringを使うと簡単です。オプションについては ロケール(国・地域・言語)と表示形式に対応した文字列を参考にしてください。
元号の取得
function getGengouLong(date){
//return date.toLocaleString('ja-JP-u-ca-japanese', {era: 'long'}).substring(0,2);
return date.toLocaleString('ja-JP-u-ca-japanese', {era: 'short'}).substring(0,2);
}
console.log(getGengouLong(new Date())); // 令和
function getGengouShort(date){
return date.toLocaleString('ja-JP-u-ca-japanese', {era: 'narrow'}).substring(0,1);
}
console.log(getGengouShort(new Date())); // R
和暦の取得
function getGengouLong(date){
//return date.toLocaleString('ja-JP-u-ca-japanese', {era: 'long',year:'numeric'});
return date.toLocaleString('ja-JP-u-ca-japanese', {era: 'short',year:'numeric'});
}
console.log(getGengouLong(new Date())); // 令和2年
function getGengouShort(date){
return date.toLocaleString('ja-JP-u-ca-japanese', {era: 'narrow',year:'2-digit'});
}
console.log(getGengouShort(new Date())); // R02年