#まずはimportが必要
import java.time.LocalDateTime;
でパッケージの利用を宣言する必要があります。
Eclipseを使用している場合は宣言する前にLocalDateTimeのインスタンス化をすれば自動的にimport文が挿入されるようです。超便利ですね。
#現在の日付を取得してみよう
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; // 形式を指定する場合はこのパッケージ宣言が必要
public class Sample_01 {
public static void main(String[] args) {
LocalDateTime d = LocalDateTime.now(); // 現在時刻のインスタンスを取得
// LocalDateTime d = LocalDateTime.of(2016, 1, 1, 10. 10, 10); // 特定の日付のインスタンスを取得
// LocalDateTime d = LocalDateTime.parse("2016-02-02T10:10:10"); // isoが指定する書式で特定の日付のインスタンスを取得
//
System.out.println("d: " + d);
System.out.println("getyear(): " + d.getYear()); // 西暦を取得
System.out.println("getMonth(): " + d.getMonth()); // 西暦を取得
System.out.println("getMonth().getValue(): " + d.getMonth().getValue()); // 西暦を取得
System.out.println("plusMonths(2).minusDays(3): " + d.plusMonths(2).minusDays(3)); // 西暦を取得
LocalDateTime nd = d.plusMonths(2).minusDays(3); // 日付の計算
System.out.println("nd: " + nd); // 変数に入れて出力
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd/");
System.out.println("DateTimeFormatter.ofPattaern: " + d.format(dtf));
}
}
実行結果
d: 2020-09-12T14:42:11.438
getyear(): 2020
getMonth(): SEPTEMBER
getMonth().getValue(): 9
plusMonths(2).minusDays(3): 2020-11-09T14:42:11.438
nd: 2020-11-09T14:42:11.438
DateTimeFormatter.ofPattaern: 2020/09/12/
####ポイント
- println(d)だとISOの形式で日付が出力できる
- LocalDateTime nd = d.plusMonth(2)などで日付をずらしたものを別の変数に代入することも可能
- DateTimeFormatterを使う場合は
import java.time.format.DateTimeFormatter;
が必要 - getMonth()は英語の月名
- getMonth().getValue()で月の月の数字