人生が変わるオンラインサロン!
月3万副業収入が得られる!Mサロン!31日間無料体験!JavaのStreamAPIをさらに学びたい方へ
JavaのStreamAPIを理解して頂くために参考書を執筆致しました!
StreamAPIの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け
JavaでChatGPTAPIを使ってブログ作成を自動化しませんか?
Javaでの日付や曜日の取得方法
Javaでは、日付や時間を扱うために java.time
パッケージが提供されています。
この記事では、Javaを使用して日付、曜日、時分、四半期、週番号、うるう年などを取得する方法を15パターン解説します。

1. 現在の日付を取得する
ソースコード例
1 2 3 4 5 6 7 8 |
import java.time.LocalDate; public class Main { public static void main(String[] args) { LocalDate today = LocalDate.now(); System.out.println("Today's date: " + today); } } |
出力結果
Today's date: 2023-05-15

2. 現在の時刻を取得する
ソースコード例
1 2 3 4 5 6 7 8 |
import java.time.LocalTime; public class Main { public static void main(String[] args) { LocalTime timeNow = LocalTime.now(); System.out.println("Current time: " + timeNow); } } |
出力結果
Current time: 13:45:30.123

3. 現在の日付と時刻を取得する
ソースコード例
1 2 3 4 5 6 7 8 |
import java.time.LocalDateTime; public class Main { public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); System.out.println("Current date and time: " + now); } } |
出力結果
Current date and time: 2023-05-15T13:45:30.123

4. 特定の日付を作成する
ソースコード例
1 2 3 4 5 6 7 8 |
import java.time.LocalDate; public class Main { public static void main(String[] args) { LocalDate date = LocalDate.of(2023, 5, 15); System.out.println("Specific date: " + date); } } |
出力結果
Specific date: 2023-05-15

5. 曜日を取得する
ソースコード例
1 2 3 4 5 6 7 8 |
import java.time.LocalDate; public class Main { public static void main(String[] args) { LocalDate today = LocalDate.now(); System.out.println("Today's day of the week: " + today.getDayOfWeek()); } } |
出力結果
Today's day of the week: MONDAY

6. 月を取得する
ソースコード例
1 2 3 4 5 6 7 8 |
import java.time.LocalDate; public class Main { public static void main(String[] args) { LocalDate today = LocalDate.now(); System.out.println("Current month: " + today.getMonth()); } } |
出力結果
Current month:MAY

7. 年を取得する
ソースコード例
1 2 3 4 5 6 7 8 |
import java.time.LocalDate; public class Main { public static void main(String[] args) { LocalDate today = LocalDate.now(); System.out.println("Current year: " + today.getYear()); } } |
出力結果
Current year: 2023

8. 日を取得する
ソースコード例
1 2 3 4 5 6 7 8 |
import java.time.LocalDate; public class Main { public static void main(String[] args) { LocalDate today = LocalDate.now(); System.out.println("Current day of the month: " + today.getDayOfMonth()); } } |
出力結果
Current day of the month: 15

9. 週番号を取得する
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 |
import java.time.LocalDate; import java.time.temporal.WeekFields; import java.util.Locale; public class Main { public static void main(String[] args) { LocalDate today = LocalDate.now(); int weekOfYear = today.get(WeekFields.of(Locale.getDefault()).weekOfYear()); System.out.println("Current week of the year: " + weekOfYear); } } |
出力結果
Current week of the year: 20

10. 四半期を取得する
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 |
import java.time.LocalDate; import java.time.Month; import java.time.temporal.IsoFields; public class Main { public static void main(String[] args) { LocalDate today = LocalDate.now(); int quarter = today.get(IsoFields.QUARTER_OF_YEAR); System.out.println("Current quarter: " + quarter); } } |
出力結果
Current quarter: 2

11. うるう年をチェックする
ソースコード例
1 2 3 4 5 6 7 8 |
import java.time.LocalDate; public class Main { public static void main(String[] args) { LocalDate date = LocalDate.of(2024, 1, 1); System.out.println("Is 2024 a leap year? " + date.isLeapYear()); } } |
出力結果
Is 2024 a leap year? true

12. 日付の比較
ソースコード例
1 2 3 4 5 6 7 8 9 |
import java.time.LocalDate; public class Main { public static void main(String[] args) { LocalDate date1 = LocalDate.of(2023, 1, 1); LocalDate date2 = LocalDate.of(2023, 12, 31); System.out.println("Is date1 before date2? " + date1.isBefore(date2)); } } |
出力結果
Is date1 before date2? true

13. 日付の間隔を取得する
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 |
import java.time.LocalDate; import java.time.Period; public class Main { public static void main(String[] args) { LocalDate date1 = LocalDate.of(2023, 1, 1); LocalDate date2 = LocalDate.of(2023, 12, 31); Period period = Period.between(date1, date2); System.out.println("Difference is " + period.getMonths() + " months and " + period.getDays() + " days."); } } |
出力結果
Difference is 11 months and 30 days.

14. 日付の加算と減算
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 |
import java.time.LocalDate; public class Main { public static void main(String[] args) { LocalDate today = LocalDate.now(); LocalDate tomorrow = today.plusDays(1); LocalDate yesterday = today.minusDays(1); System.out.println("Today: " + today); System.out.println("Tomorrow: " + tomorrow); System.out.println("Yesterday: " + yesterday); } } |
出力結果
Today: 2023-05-15
Tomorrow: 2023-05-16
Yesterday: 2023-05-14

まとめ
Javaには日付や時間を操作するための強力なAPIが用意されています。この記事で紹介した例はその一部に過ぎませんが、これらをベースに各種日付・時間操作を行うことができます。また、Java 8以降のバージョンでは、より洗練された日付・時間APIが導入され、より複雑な日付・時間操作も可能になりました。
これらの機能を駆使して、日付や時間に関する問題を解決してみてください。

最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!

人生が変わるオンラインサロン!
月3万副業収入が得られる!Mサロン!31日間無料体験!JavaのStreamAPIをさらに学びたい方へ
JavaのStreamAPIを理解して頂くために参考書を執筆致しました!
StreamAPIの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け
JavaでChatGPTAPIを使ってブログ作成を自動化しませんか?