はじめに
jsで曜日を求めたい時、getDay()
を使うと下記のような整数が返ってきます。
整数 | en | ja |
---|---|---|
0 | Sun | 日 |
1 | Mon | 月 |
2 | Tue | 火 |
3 | Wed | 水 |
4 | The | 木 |
5 | Fri | 金 |
6 | Sat | 土 |
いや、Sunとか日とかを取得したいんだけど…という時に使いまわしたい関数を作ってみました。
ソース
test.js
function getWeekday(date, lang) {
var list = {
ja: ["日", "月", "火", "水", "木", "金", "土"],
en: ["Sun", "Mon", "Tue", "Wed", "The", "Fri", "Sat"]
}
//dateチェック
if (date == undefined || date == "") {
date = new Date().getDay();
} else if (date.constructor.name == "Date") {
date = date.getDay();
} else if (!Number.isInteger(date)) {
return "第一引数が不正です。";
} else if (date < 0 || date > 6) {
return "第一引数が不正です。";
} else {
date = Number(date);
}
//langチェック
if (lang == undefined || lang == "") {
lang = "ja";
} else if (lang != "ja" && lang != "en") {
return "第二引数が不正です。";
}
return list[lang][date];
}
使い方
第一引数(date)
Dateオブジェクト、または0~6の整数を入力します。
省略または空白にすると今の曜日を求めます。
第二引数(lang)
jaまたはenを入力します。
省略または空白にするとja形式で出力されます。
console
//今日の日本語
getWeekday()
"月"
getWeekday("","ja")
"月"
//今日の英語
getWeekday("","en")
"Mon"
//整数2に対応する日本語
getWeekday(2)
"火"
getWeekday("2")
"火"
//特定の日の日本語
getWeekday(new Date("2019-8-15"))
"木"
//エラーパターン
getWeekday("今日は何曜日?")
"第一引数が不正です。"
getWeekday(10)
"第一引数が不正です。"
getWeekday(1.1)
"第一引数が不正です。"
getWeekday("","jp")
"第二引数が不正です。"