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
サルモリ
ここでは LocalDate.now() を使用して現在の日付を取得しています。出力は年-月-日の形式で表示されます。
Java言語のStreamAPIを徹底的に学びたい方は画像をクリックしてご覧ください!
KindleUnlimited会員であれば、全ての本をご覧頂けます。 StreamAPIを理解すれば、Javaの世界が変わる 第1版
KindleUnlimited会員であれば、全ての本をご覧頂けます。 StreamAPIを理解すれば、Javaの世界が変わる 第1版
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
サルモリ
この例では LocalTime.now() を使用して現在の時刻を取得しています。出力は時:分:秒.ナノ秒の形式で表示されます。
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
サルモリ
LocalDateTime.now() を使用して現在の日付と時刻を一度に取得することも可能です。年-月-日T時:分:秒.ナノ秒の形式で表示されます。
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
サルモリ
LocalDate.of() を使用して、特定の日付を作成することができます。ここでは2023年5月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
サルモリ
getDayOfWeek() メソッドを使用して、特定の日付の曜日を取得することができます。出力は英語の曜日名です。
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
サルモリ
getMonth() メソッドを使用すると、特定の日付の月を取得することができます。出力は英語の月名です。
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
サルモリ
getYear() メソッドを使用すると、特定の日付の年を取得することができます。
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
サルモリ
getDayOfMonth() メソッドを使用すると、特定の日付の日を取得することができます。
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
サルモリ
get() メソッドと WeekFields.of(Locale.getDefault()).weekOfYear() を使用すると、特定の日付が年内で何週目にあたるかを取得することができます。
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
サルモリ
get() メソッドと IsoFields.QUARTER_OF_YEAR を使用すると、特定の日付が年内で何四半期目にあたるかを取得することができます。
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
サルモリ
isLeapYear() メソッドを使用すると、特定の日付がうるう年かどうかを確認することができます。
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
サルモリ
isBefore() メソッドを使用すると、ある日付が別の日付よりも前であるかどうかを確認することができます。
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.
サルモリ
Period.between()メソッドを使用すると、2つの日付の間の期間を取得することができます。それから月や日の差を取得することができます。
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
サルモリ
日付の加算や減算は plusDays() や minusDays() のようなメソッドを使用します。これらは新しい LocalDate インスタンスを返します。
まとめ
Javaには日付や時間を操作するための強力なAPIが用意されています。この記事で紹介した例はその一部に過ぎませんが、これらをベースに各種日付・時間操作を行うことができます。また、Java 8以降のバージョンでは、より洗練された日付・時間APIが導入され、より複雑な日付・時間操作も可能になりました。
これらの機能を駆使して、日付や時間に関する問題を解決してみてください。
サルモリ
この記事がJavaで日付や時間を扱う際の助けになれば幸いです。もし他に何か質問があれば、気軽にコメントしてくださいね!
最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!
サルモリ
最後まで読んでくれてありがとう!!