JavaのLocalDateTime.getHourメソッドを完全ガイド!初心者でもわかる現在の時刻の取得方法
生徒
「先生、Javaで現在の時間の「時」だけを取り出す方法ってありますか?」
先生
「あるよ。JavaのLocalDateTimeクラスにはgetHourというメソッドがあって、現在の時刻から「時」の部分だけを取得できるんだ。」
生徒
「つまり、二十四時間制の「時」だけを数値として取り出せるんですね?」
先生
「その通り。具体的な使い方を順番に見ていこう!」
1. java.timeパッケージの概要
「1. java.timeパッケージの概要」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。
java.timeパッケージはJava8で導入された新しい日付と時刻のAPIで、旧来のDateやCalendarの使いにくさを改善するために設計されました。日付や時刻の操作を直感的に扱えるので、業務システムやWeb開発でも広く利用されています。
Javaで日付や時間を扱う処理は非常に多く、現在日時の取得、予約日時の管理、ログの記録、勤怠情報の管理など、さまざまなシステムで利用されています。以前のAPIは記述方法が複雑で、初心者には理解しにくい部分がありました。しかし、java.timeパッケージの登場によって、日付処理や時刻処理を分かりやすく記述できるようになり、多くのJava開発現場で標準的に利用されるようになりました。
また、java.timeパッケージには日付を扱うLocalDate、時刻を扱うLocalTime、日付と時刻をまとめて扱うLocalDateTimeなどのクラスが用意されています。そのため、用途に応じて適切なクラスを選択しながら開発を進めることができます。
import java.time.LocalDate;
public class JavaTimeExample {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println(today);
}
}
2026-06-07
このようにjava.timeパッケージを利用すると、現在の日付を簡単に取得できます。まずは「Javaには日付や時刻を扱うための便利な機能が用意されている」ということを理解しておくと、これから学習する日時処理もスムーズに理解しやすくなります。
2. LocalDateTimeクラスとは
LocalDateTimeクラスは「日付」と「時間」を一緒に管理できる便利なクラスです。年月日と時分秒を一つのオブジェクトで表現できるため、シンプルで扱いやすいのが特徴です。
3. getHourメソッドの基本
getHourメソッドは、現在のLocalDateTimeから「時」の部分を整数値で返すメソッドです。二十四時間制で表現され、午前零時は「0」、午後十一時は「23」として返されます。
import java.time.LocalDateTime;
public class GetHourExample {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
int hour = now.getHour();
System.out.println("現在の時刻の時は: " + hour);
}
}
現在の時刻の時は: 14
4. getHourが返す値の範囲
「4. getHourが返す値の範囲」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。
getHourメソッドが返す値は「0から23」の範囲です。これは二十四時間制に対応しているためで、午前零時は「0」、正午は「12」、午後十一時は「23」となります。初心者が混乱しやすいのは午前と午後の区別ですが、getHourは常に二十四時間制で返すため間違いが起こりにくいです。
5. getHourと他のメソッドの違い
LocalDateTimeには、日付や時間を取得するためのメソッドが多数あります。例えばgetMinuteは「分」、getSecondは「秒」を返します。それに対してgetHourは「時」だけを返すため、特定の処理に集中して使えます。
6. 実用的な使い方の例
getHourメソッドは、システムの時間帯に応じた処理を行うときに便利です。例えば「午前中だけ処理を実行する」「夜間は特定の機能を制限する」といった場合に役立ちます。
import java.time.LocalDateTime;
public class HourBasedLogicExample {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
int hour = now.getHour();
if (hour < 12) {
System.out.println("午前の処理を実行します");
} else {
System.out.println("午後の処理を実行します");
}
}
}
午後の処理を実行します
7. getHourを使う際の注意点
「7. getHourを使う際の注意点」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。
getHourはローカルタイムゾーンの時間を返すため、サーバー環境によって値が異なることがあります。グローバルなシステムではUTCやタイムゾーンを意識した処理を組み合わせることが重要です。また、時刻だけを扱いたい場合はLocalTimeクラスを利用するとより適切です。
8. getHourと応用的な利用シーン
例えばECサイトでは「時間帯別にセールを開始する」仕組みや、勤怠管理システムで「出勤時間を記録する」といった用途に使えます。さらにログ解析などでも「特定の時間帯のアクセス数を集計する」といった処理に役立ちます。初心者のうちからこうした使い道をイメージしておくと、開発で応用しやすくなります。
まとめ
JavaのLocalDateTimeクラスに用意されているgetHourメソッドは、日時情報の中から時刻の「時」だけを取得したい場合に利用する基本的かつ重要なメソッドです。Javaの日時処理では、年月日や時分秒をまとめて扱うことが多いですが、実際のシステム開発では日時全体ではなく「何時か」という情報だけが必要になる場面が数多くあります。そのようなときにgetHourメソッドを利用すると、現在の時刻や指定した日時から時の部分だけを簡単に取得できます。
getHourメソッドが返す値はint型で、取得できる値の範囲は0から23です。0は午前0時、12は正午、18は午後6時、23は午後11時を表しています。12時間表記ではなく24時間表記で返されるため、午前と午後を区別しやすく、条件分岐の処理もシンプルに記述できます。
Javaの業務システムやWebアプリケーションでは、時間帯によって動作を切り替える処理がよく実装されます。例えば9時から18時までを営業時間として判定したり、22時以降は夜間処理を実行したり、アクセスログを時間帯ごとに集計したりすることがあります。そのような処理ではLocalDateTime.now()で現在日時を取得し、getHourで時刻だけを取り出して判定する方法がよく利用されます。
また、LocalDateTimeにはgetHour以外にも、年を取得するgetYear、月を取得するgetMonthValue、日を取得するgetDayOfMonth、分を取得するgetMinute、秒を取得するgetSecondなど、多くの取得メソッドが用意されています。これらを組み合わせることで、Javaの日時データを柔軟に扱うことができます。
初心者のうちは日時オブジェクトから必要な情報を取り出すことに慣れていないかもしれませんが、getHourは非常にシンプルなメソッドなので理解しやすいです。まずは現在時刻の時を取得するプログラムを書き、その後に営業時間判定や時間帯別メッセージ表示などへ応用していくと、Javaの日付処理や時間処理への理解が深まります。
実務でよくある活用例
実務では、現在の時間によって処理内容を変更することがあります。例えば9時から17時までは通常業務として処理を行い、それ以外の時間帯は受付停止にすることがあります。このような場合にもgetHourメソッドが活躍します。
import java.time.LocalDateTime;
public class BusinessHourExample {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
int hour = now.getHour();
if (hour >= 9 && hour < 17) {
System.out.println("営業時間内です");
} else {
System.out.println("営業時間外です");
}
}
}
営業時間内です
このような考え方は予約システム、販売管理システム、勤怠管理システム、顧客管理システム、ショッピングサイトなど、多くのJavaアプリケーションで利用されています。Javaエンジニアとして開発を行う際には、日時処理の基礎として必ず理解しておきたい内容です。
生徒
「今回の記事で、JavaのLocalDateTimeクラスにあるgetHourメソッドの使い方がよく分かりました。現在時刻から時だけを取得できるんですね。」
先生
「その通りです。getHourメソッドは日時データから時だけを取得したい場合に使います。Javaの日時処理ではとてもよく登場するメソッドですよ。」
生徒
「返される値は0から23まででしたね。24時間表記だから午前と午後を区別しやすいと理解できました。」
先生
「そうですね。例えば9時から18時までを営業時間として判定する場合でも、数字だけで比較できるのでプログラムが分かりやすくなります。」
生徒
「営業時間の判定や夜間処理の実行など、実際の業務システムでも使われていることが分かりました。」
先生
「その理解で大丈夫です。Javaの業務システムでは現在日時を取得して条件分岐する処理が頻繁にあります。getHourメソッドはその中心になることも多いです。」
生徒
「getMinuteやgetSecondも似た考え方で使えるんですよね。」
先生
「その通りです。getHourで時、getMinuteで分、getSecondで秒を取得できます。これらを組み合わせることで、より細かな時間制御ができるようになります。」
生徒
「Javaの日時処理は難しそうなイメージがありましたが、まずはgetHourメソッドから覚えると理解しやすそうです。」
先生
「とても良い考えです。LocalDateTime、getHour、getMinute、getSecondをしっかり理解すると、Javaの日時処理の基礎が身に付きます。実際にプログラムを書きながら学習していきましょう。」