カテゴリ: Javaの例外処理 更新日: 2026/08/31

Javaの曜日を取得する方法を解説!getDayOfWeekの使い方と表示テクニック

365
Java の曜日を取得する方法(getDayOfWeek の使い方)

先生と生徒の会話形式で理解しよう

生徒

「Javaで特定の日付が何曜日かを調べたいんですが、何か方法ありますか?」

先生

「はい、JavaにはgetDayOfWeekというメソッドが用意されていて、それを使えば簡単に曜日を取得できますよ。」

生徒

「曜日って『MONDAY』とかで出てくるんですか?それとも日本語の『月曜日』とかも出せますか?」

先生

「基本は英語の定数ですが、ちゃんと日本語で表示する方法もありますよ。それじゃあ使い方を詳しく見ていきましょう!」

1. Javaで曜日を取得するには?LocalDateとgetDayOfWeekの基本

1. Javaで曜日を取得するには?LocalDateとgetDayOfWeekの基本
1. Javaで曜日を取得するには?LocalDateとgetDayOfWeekの基本

Javaで日付から曜日を取得するには、java.time.LocalDateクラスのgetDayOfWeekメソッドを使います。
このメソッドはDayOfWeekという列挙型(Enum)を返し、MONDAYSUNDAYのような形式で曜日を表します。

Javaで曜日を調べたい場面は、スケジュール管理、カレンダー機能、祝日判定など様々です。
では、実際にJavaで曜日を取得するコードを見てみましょう。

2. LocalDate.getDayOfWeekの使い方(基本)

2. LocalDate.getDayOfWeekの使い方(基本)
2. LocalDate.getDayOfWeekの使い方(基本)

まずは基本的な使い方から。以下は、特定の日付が何曜日かをgetDayOfWeekで取得し、画面に表示するJavaコードです。


import java.time.LocalDate;
import java.time.DayOfWeek;

public class DayOfWeekExample {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2025, 9, 3);
        DayOfWeek dayOfWeek = date.getDayOfWeek();
        System.out.println("曜日は: " + dayOfWeek);
    }
}

曜日は: WEDNESDAY

3. 曜日を日本語で表示する方法

3. 曜日を日本語で表示する方法
3. 曜日を日本語で表示する方法

getDayOfWeekはデフォルトでは英語表記(MONDAYなど)を返しますが、これを日本語の「月曜日」「火曜日」などに変換するには、独自にマッピングする必要があります。


import java.time.LocalDate;
import java.time.DayOfWeek;

public class JapaneseDayExample {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2025, 9, 3);
        DayOfWeek dayOfWeek = date.getDayOfWeek();

        String[] japaneseDays = {"月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日", "日曜日"};
        String japanese = japaneseDays[dayOfWeek.getValue() - 1];

        System.out.println("日本語の曜日: " + japanese);
    }
}

日本語の曜日: 水曜日

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第5版をAmazonで見る

※ Amazon広告リンク

4. getValueメソッドで曜日の数値を取得する

4. getValueメソッドで曜日の数値を取得する
4. getValueメソッドで曜日の数値を取得する

DayOfWeekにはgetValue()メソッドが用意されており、1〜7の数値で曜日を取得できます。
これは1 = 月曜日7 = 日曜日の順になっているため、曜日を数値で管理したい場合に便利です。


import java.time.LocalDate;
import java.time.DayOfWeek;

public class DayValueExample {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2025, 9, 3);
        DayOfWeek dayOfWeek = date.getDayOfWeek();
        int value = dayOfWeek.getValue();
        System.out.println("曜日の数値: " + value);
    }
}

曜日の数値: 3

5. 今日の日付から曜日を取得する方法

5. 今日の日付から曜日を取得する方法
5. 今日の日付から曜日を取得する方法

LocalDate.now()を使えば、システム日付(今日)から簡単に曜日を取得できます。
毎日の処理や定期実行タスクなどで、今日が何曜日かをチェックする際に便利です。


import java.time.LocalDate;

public class TodayWeekExample {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        System.out.println("今日の曜日: " + today.getDayOfWeek());
    }
}

6. Javaの曜日取得でよくある活用例

6. Javaの曜日取得でよくある活用例
6. Javaの曜日取得でよくある活用例

Javaで曜日を取得するgetDayOfWeekは、日常的なアプリケーションの中でさまざまな活用ができます。
以下はよくある活用パターンの例です。

  • シフト管理アプリでの曜日表示
  • 祝日・平日判定
  • スケジュール通知やイベント告知
  • カレンダー画面に曜日を表示
  • 曜日に応じた割引や料金設定(例:水曜レディースデー)

曜日を扱うことは、ユーザーにとって直感的な情報提供につながるため、UI/UX改善にも大きく貢献します。

7. 曜日を略称で表示したいときは?

7. 曜日を略称で表示したいときは?
7. 曜日を略称で表示したいときは?

曜日を「月」「火」「水」など1文字で表示したい場合もあります。その場合は日本語配列を変えるだけで対応できます。


import java.time.LocalDate;
import java.time.DayOfWeek;

public class ShortDayExample {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2025, 9, 3);
        String[] shortDays = {"月", "火", "水", "木", "金", "土", "日"};
        String shortName = shortDays[date.getDayOfWeek().getValue() - 1];
        System.out.println("略称: " + shortName);
    }
}

略称: 水

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaで特定の日付の曜日を調べるには、どのクラスを使用するのが一般的ですか?

Javaで日付から曜日を取得する現代的で最も標準的な方法は、java.time.LocalDateクラスを使用することです。このクラスはJava 8以降で導入されたDate and Time APIの一部であり、直感的に日付操作が行えます。具体的には、LocalDateクラスのインスタンスに対してgetDayOfWeekメソッドを呼び出すことで、その日付が何曜日であるかを示すDayOfWeekオブジェクトを取得できます。これにより、スケジュール管理アプリやカレンダー機能の実装が非常にスムーズになります。

getDayOfWeekメソッドが返す値の種類は何ですか?文字列で返ってくるのでしょうか?

getDayOfWeekメソッドが返すのは、単純なString型(文字列)ではなく、DayOfWeekという「列挙型(Enum)」のオブジェクトです。この列挙型には、MONDAY(月曜日)、TUESDAY(火曜日)、WEDNESDAY(水曜日)、THURSDAY(木曜日)、FRIDAY(金曜日)、SATURDAY(土曜日)、SUNDAY(日曜日)という7つの定数が定義されています。プログラム内部で曜日を比較したり、条件分岐に使用したりする際には、文字列比較よりも型安全でミスが少ないというメリットがあります。
Javaの例外処理の一覧へ
新着記事
Flutter
FlutterでWebアプリをビルドする方法と注意点
FlutterでWebアプリをビルドする方法と注意点を徹底解説【初心者向け】
Flutter
Flutter Web開発の始め方!環境構築と基本の流れ
Flutter Web開発の始め方を完全ガイド!初心者でもわかる環境構築と基本の流れ
Flutter
FlutterのInheritedWidgetとは?仕組みと活用方法
FlutterのInheritedWidgetとは?仕組みと活用方法を初心者向けにやさしく解説
Flutter
Blocパターンの仕組みと導入方法をわかりやすく解説
FlutterのBlocパターンを完全ガイド!初心者でもわかる状態管理と導入方法
人気記事
Flutter
Flutterの開発に必要なもの!パソコン・ツール・OSなど準備まとめ
Flutterの開発に必要なもの!パソコン・ツール・OSなど準備まとめ
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク