LoginSignup
1
0

More than 3 years have passed since last update.

曜日を求める関数

Last updated at Posted at 2019-08-19

はじめに

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")
"第二引数が不正です。"
1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0