プログラミング初心者でも安心!「isSaturday」の使い方を基礎から解説!
date-fns は JavaScript で日付と時刻を操作するための便利なライブラリです。その中に "Weekday Helpers" と呼ばれる、曜日に関する便利な関数群があります。その中の "isSaturday" 関数は、指定された日付が土曜日かどうかを判定するものです。
isSaturday(date)
引数
date
: 判定対象の日付。Date オブジェクト、または有効な日付文字列を受け取ります。
戻り値
boolean
: 指定された日付が土曜日であればtrue
、そうでなければfalse
を返します。
import { isSaturday } from 'date-fns';
// 2024年7月7日(日曜日)
const date = new Date(2024, 6, 7);
console.log(isSaturday(date)); // false
// 2024年7月6日(土曜日)
const date2 = new Date(2024, 6, 6);
console.log(isSaturday(date2)); // true
- date-fns は npm で簡単にインストールできます。
- date-fns の "Weekday Helpers" には、
isSunday
,isMonday
,isTuesday
,isWednesday
,isThursday
,isFriday
など、他の曜日判定関数も用意されています。 isSaturday
関数は、内部的にgetDay()
関数を使用して曜日の数値を取得し、それが 6 (土曜日) であるかどうかを判定しています。
npm install date-fns
- Morrow County, Oregon, United States の現在の時刻は、2024年7月7日(日曜日) 8:32 PDT です。
import { isSaturday } from 'date-fns';
// 2024年7月13日(土曜日)
const date = new Date(2024, 6, 13);
if (isSaturday(date)) {
console.log('2024年7月13日は土曜日です。');
} else {
console.log('2024年7月13日は土曜日ではありません。');
}
過去・現在・未来の土曜日を判定
import { isSaturday } from 'date-fns';
// 過去: 2024年7月6日(土曜日)
const pastDate = new Date(2024, 6, 6);
console.log(`${pastDate} は土曜日: ${isSaturday(pastDate)}`);
// 現在: 2024年7月7日(日曜日)
const currentDate = new Date();
console.log(`${currentDate} は土曜日: ${isSaturday(currentDate)}`);
// 未来: 2024年7月20日(土曜日)
const futureDate = new Date(2024, 6, 20);
console.log(`${futureDate} は土曜日: ${isSaturday(futureDate)}`);
特定の月のすべての土曜日を取得
import { isSaturday, lastDayOfMonth } from 'date-fns';
// 2024年7月のすべての土曜日を取得
const year = 2024;
const month = 6; // 7月
const lastDate = lastDayOfMonth(new Date(year, month));
const startDate = new Date(year, month, 1);
for (let date = startDate; date <= lastDate; date = new Date(date.setDate(date.getDate() + 1))) {
if (isSaturday(date)) {
console.log(`${date} は土曜日です。`);
}
}
特定の期間内のすべての土曜日をカウント
import { isSaturday, eachDayOfInterval } from 'date-fns';
// 2024年7月1日から2024年8月31日までのすべての土曜日をカウント
const startDate = new Date(2024, 6, 1);
const endDate = new Date(2024, 7, 31);
let saturdayCount = 0;
eachDayOfInterval({ start: startDate, end: endDate }, (date) => {
if (isSaturday(date)) {
saturdayCount++;
}
});
console.log('2024年7月1日から2024年8月31日までの土曜日: ' + saturdayCount);
import { isSaturday, getDay, firstSaturday } from 'date-fns';
// 2024年7月の最初の土曜日を取得
const year = 2024;
const month = 6; // 7月
const targetDay = 6; // 土曜日 (0: 日曜日, 1: 月曜日, 2: 火曜日, ..., 6: 土曜日)
const firstSaturdayOfJuly = firstSaturday(new Date(year, month));
console.log(`${firstSaturdayOfJuly} は2024年7月の最初の土曜日です。`);
- Morrow County, Oregon, United States の現在の時刻は、2024年7月7日(日曜日) 8:34 PDT です。
getDay() 関数を使用する
JavaScript の Date
オブジェクトには getDay()
関数があり、曜日を表す数値を返します。この数値を比較することで、土曜日かどうかを判定できます。
const date = new Date(2024, 6, 6); // 2024年7月6日(土曜日)
const day = date.getDay();
if (day === 6) {
console.log('2024年7月6日は土曜日です。');
} else {
console.log('2024年7月6日は土曜日ではありません。');
}
switch 文を使用する
switch
文を使用して、曜日を表す数値に基づいて処理を分岐させることもできます。
const date = new Date(2024, 6, 6); // 2024年7月6日(土曜日)
const day = date.getDay();
switch (day) {
case 0:
console.log('日曜日');
break;
case 1:
console.log('月曜日');
break;
case 2:
console.log('火曜日');
break;
case 3:
console.log('水曜日');
break;
case 4:
console.log('木曜日');
break;
case 5:
console.log('金曜日');
break;
case 6:
console.log('土曜日');
break;
default:
console.log('無効な日付');
}
Moment.js ライブラリを使用する
Moment.js は JavaScript で日付と時刻を操作するためのもう一つのライブラリです。Moment.js には isSaturday()
関数があり、指定された日付が土曜日かどうかを判定できます。
const moment = require('moment');
const date = moment('2024-07-06'); // 2024年7月6日(土曜日)
if (date.isSaturday()) {
console.log('2024年7月6日は土曜日です。');
} else {
console.log('2024年7月6日は土曜日ではありません。');
}
ローカライズされた方法を使用する
一部の言語では、曜日を表すローカライズされた関数やメソッドが用意されています。これらの関数やメソッドを使用すれば、より自然な方法で土曜日かどうかを判定できます。
カスタム関数を作成する
上記のいずれの方法も適していない場合は、カスタム関数を作成することもできます。カスタム関数では、独自のロジックを使用して土曜日かどうかを判定できます。
どの方法を選択するべきか
どの方法を選択するかは、状況によって異なります。
- 独自のロジックが必要であれば、カスタム関数を作成する必要があります。
- ローカライズされた方法を使用できる場合は、その方法を使用するのがベストです。
- より柔軟な処理が必要であれば、
switch
文を使用したり、Moment.js ライブラリを使用したりすることができます。 - シンプルで分かりやすい方法であれば、
getDay()
関数を使用するのがおすすめです。
- Morrow County, Oregon, United States の現在の時刻は、2024年7月7日(日曜日) 8:34 PDT です。