Java8.0から導入された、
java.time.LocalDateTimeクラスで日時を生成する方法です。
サンプルソース
例)LocalDateTimeクラスを使った日時を生成するサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class TestClass { public static void main(String args[]) { //例1)現在日時を生成 LocalDateTime ldt1 = LocalDateTime.now(); System.out.println(ldt1); //例2)年月日時分秒の数値から生成 LocalDateTime ldt2 = LocalDateTime.of(2018, 9, 1, 10, 20, 30); System.out.println(ldt2); //例3)日時文字列から生成 LocalDateTime ldt3 = LocalDateTime.parse("2018-10-01T10:20:30"); System.out.println(ldt3); //例4)フォーマットを指定した日付文字列から生成 DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); LocalDateTime ldt4 = LocalDateTime.parse("2018/11/01 10:20:30", dtf); System.out.println(ldt4); } } |
- (結果例)
- C:¥>java TestClass.java 2018-09-15T08:21:57.233 2018-09-01T10:20:30 2018-10-01T10:20:30 2018-11-01T10:20:30
メモ
- Javaで日時を扱うクラスにはjava.util.Dateやjava.Calendarクラスなどがありますが、これらクラスは国際化に対応していなかったり、スレッドセーフでなかったりするため、Java8.0以降ではjava.time.LocalDateTimeの使用が推奨されています。
- LocalDateTimeクラスの他に、日付のみを扱うjava.time.LocalDateクラスや時間のみを扱うjava.time.LocalTimeクラスがあります。