プログラミング初心者でも安心!「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 です。