現代の答え:
String str = "2010-06-13T00:00:00";
LocalDateTime dateTime = LocalDateTime.parse(str);
System.out.println("Date-time " + dateTime);
出力:
日時 2010-06-13T00:00
私はjava.time
最新の Java 日付と時刻 API を使用し、推奨しています。解析のための明示的なフォーマッタさえ必要ありません。これは、文字列が、java.time
クラスがデフォルトとして解析する国際標準である ISO 8601 形式であるためです。java.time
2014年に出ました。
この質問が行われた 2010 年には、SimpleDateFormat
日付と時刻を解析するために私たちが持っていたものでしたが、幸いなことに、そのクラスも面倒だったため、現在では時代遅れと見なされています。
文字列に時刻のない日付のみが含まれている場合はLocalDate
、まったく同じ方法でクラスを使用します (これは重複した質問で尋ねられました)。
String dateStr = "2018-05-23";
LocalDate date2 = LocalDate.parse(dateStr);
System.out.println(date2);
2018-05-23
リンク: Oracle チュートリアル: Date Timeの使用方法を説明しますjava.time
。