JavaScriptのDate.getDay()メソッドとは?曜日を数値で取得する使い方を徹底解説
JavaScriptのDateオブジェクトは、言語に標準で組み込まれているデータ型の一つです。Dateオブジェクトは、new Date() を使って以下のように生成します。
Dateオブジェクトを作成すると、多数のメソッドを使ってその内容を操作できます。ほとんどのメソッドは、ローカル時刻またはUTC(協定世界時/GMT)のいずれかの時刻に基づいて、年・月・日・時・分・秒・ミリ秒といった各フィールドを取得・設定するためのものです。
getDay() メソッドは、そのDateオブジェクトが保持している日付の「曜日」を表す数値を返します。戻り値は 0(日曜日)から6(土曜日) までの整数で、例えば「0」なら日曜日、「2」なら火曜日を意味します。
構文
getDay() の構文は以下のとおりです。
dateObj.getDay();
戻り値
- 0:日曜日
- 1:月曜日
- 2:火曜日
- 3:水曜日
- 4:木曜日
- 5:金曜日
- 6:土曜日
使用例①:特定の日付の曜日を取得する
次の例では、1989年9月26日の曜日を取得しています。この日は火曜日だったため、「2」が出力されます。
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var dateObj = new Date('September 26, 1989 00:04:00');
document.write(dateObj.getDay());
</script>
</body>
</html>出力結果
2
使用例②:日(何日)を省略した場合
Dateコンストラクタに「年月」と「時刻」だけを指定して「日(日にち)」を省略した場合、デフォルトで「1日」が指定されたものとして扱われます。
たとえば「September 1989」とだけ指定した場合、1989年9月1日の曜日が返されます。この日は金曜日であり、金曜日は週の5番目にあたるため、この関数は「5」を返します。
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var dateObj = new Date('September, 1989 00:04:00');
document.write(dateObj.getDay());
</script>
</body>
</html>出力結果
5
使用例③:引数なしで現在の曜日を取得する
Dateコンストラクタに引数を渡さずにオブジェクトを生成すると、実行時点の「今日の日付」が設定されます。その状態で getDay() を呼び出すと、本日の曜日に対応する数値が返されます。
なお、出力される値はコードを実行した曜日によって変わります。たとえば水曜日に実行すれば「3」が出力されます。
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var dateObj = new Date();
document.write(dateObj.getDay());
</script>
</body>
</html>出力結果(実行日により変化)
0〜6 のいずれかの数値
注意点:getDay() と getDate() の違い
getDay() と名前がよく似たメソッドに getDate() がありますが、両者はまったく別の値を返すので注意が必要です。
- getDay() … 曜日を表す数値(0〜6)を返す
- getDate() … 月の中での「日にち」(1〜31)を返す
また、getDay() の戻り値はローカルタイムゾーンに基づいて計算されます。UTC基準で曜日を取得したい場合は、getUTCDay() を使用してください。
-
JavaScriptのDate.setUTCMonth()メソッドとは?構文と使い方を実例付きで解説
Dateオブジェクトは、JavaScriptに組み込まれているデータ型の一つです。Dateオブジェクトは、次のように new Date() を使って生成します。 Dateオブジェクトを生成すると、多数のメソッドを使ってそのオブジェクトを操作できます。ほとんどのメソッドは、ローカル時間またはUTC(協定世界時/GMT)のいずれかの時刻基準で、年・月・日・時・分・秒・ミリ秒の各フィールドを取得・設定するためのものです。 setUTCMonth()メソッドは、年の月を表す整数を受け取り、UTC(協定世界時)に基づいて現在の日付の「月」の値を置き換えます。月の値は0が1月を表し、以降は11が12月に
-
JavaScriptのDate.@@toPrimitive()関数とは?日付オブジェクトをプリミティブ値に変換する方法
JavaScriptのDate.@@toPrimitive()関数は、Dateオブジェクトをプリミティブ値に変換するために使用されます。このメソッドはSymbol.toPrimitiveプロパティを通じて呼び出され、引数に指定したヒント(hint)に応じて、文字列や数値など適切なプリミティブ値を返します。 ヒントの種類と戻り値 「default」:日付を表す文字列が返されます。 「number」:1970年1月1日00:00:00 UTCからの経過ミリ秒数(タイムスタンプ)が数値で返されます。 「string」:「default」と同様に、日付を表す文字列が返されます。 サンプルコード 以