🚀
DateTimeFormatter を使っていてエラーが出た時の対処について
想定読者
Java初学者
開発環境
Mac OS
メインコンテンツ
実装したい内容
2018-01-28T23:45:32
現れたエラー
Exception in thread "main" java.time.format.DateTimeParseException: Text '2018/01/28 23:45:32' could not be parsed at index 14
at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2052)
at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1954)
at java.base/java.time.LocalDateTime.parse(LocalDateTime.java:494)
at DataTimeSample5_1017.main(DataTimeSample5_1017.java:16)
実際のコード
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class DataTimeSample5_1017 {
public static <DataTimeFormatter> void main(String[] args) {
String s = "2018/01/28 23:45:32";
DateTimeFormatter f2 = DateTimeFormatter.ofPattern("yyyy/mm/dd HH:mm:ss");
LocalDateTime ff2 = LocalDateTime.parse(s, f2);
System.out.println(ff2);
}
}
結論
- 問題となっていたのは
"yyyy/mm/dd HH:mm:ss"
の書き方でした。
"yyyy/mm/dd HH:mm:ss"
の箇所の大文字、小文字の誤りに気づきませんでした。
修正後
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class DataTimeSample5_1017 {
public static <DataTimeFormatter> void main(String[] args) {
String s = "2018/01/28 23:45:32";
DateTimeFormatter f2 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
LocalDateTime ff2 = LocalDateTime.parse(s, f2);
System.out.println(ff2);
}
}
2018-01-28T23:45:32
感想
これで解決できました。
単純ですが気づくのに時間がかかったので共有します。
ご指摘等ありましたが教えてください。
読みにくいコードですみません。
ご視聴ありがとうございました。
Discussion