Java LocalDateTime 格式化程序问题
Java LocalDateTime Formatter Issue
我目前正在使用 Java LocalDateTime Formatters,我想从字符串中解析日期。我将问题归结为以下代码。这是正确使用格式化程序来创建此模式的字符串,但它无法读取完全相同的字符串。我很难找出为什么会这样。
public static void main(String args[]) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
String stringTime = LocalDateTime.now().format(formatter);
System.out.println(stringTime);
LocalDateTime dateTime = LocalDateTime.parse(stringTime, formatter);
System.out.println(dateTime);
}
是什么让我更加困惑,如果我像下面的代码一样在模式中插入一个字符,该函数将起作用并将日期转换为字符串并返回。
public static void main(String args[]) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmm-ssSSS");
String stringTime = LocalDateTime.now().format(formatter);
System.out.println(stringTime);
LocalDateTime dateTime = LocalDateTime.parse(stringTime, formatter);
System.out.println(dateTime);
}
我得到以下堆栈跟踪
Exception in thread "main" java.time.format.DateTimeParseException: Text '20220421154548090' could not be parsed at index 0
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
at java.time.LocalDateTime.parse(LocalDateTime.java:492)
我很乐意在这里提供一些建议。
在@deHaar 的要求下,我尝试了不同的 Java- 版本。对于 zulu-8,这个问题出现了,对于像 zulu-17 这样的更高版本,代码工作得很好。所以我将不得不使用更高版本或找到解决方法。感谢您的回复。
我目前正在使用 Java LocalDateTime Formatters,我想从字符串中解析日期。我将问题归结为以下代码。这是正确使用格式化程序来创建此模式的字符串,但它无法读取完全相同的字符串。我很难找出为什么会这样。
public static void main(String args[]) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
String stringTime = LocalDateTime.now().format(formatter);
System.out.println(stringTime);
LocalDateTime dateTime = LocalDateTime.parse(stringTime, formatter);
System.out.println(dateTime);
}
是什么让我更加困惑,如果我像下面的代码一样在模式中插入一个字符,该函数将起作用并将日期转换为字符串并返回。
public static void main(String args[]) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmm-ssSSS");
String stringTime = LocalDateTime.now().format(formatter);
System.out.println(stringTime);
LocalDateTime dateTime = LocalDateTime.parse(stringTime, formatter);
System.out.println(dateTime);
}
我得到以下堆栈跟踪
Exception in thread "main" java.time.format.DateTimeParseException: Text '20220421154548090' could not be parsed at index 0 at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949) at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851) at java.time.LocalDateTime.parse(LocalDateTime.java:492)
我很乐意在这里提供一些建议。
在@deHaar 的要求下,我尝试了不同的 Java- 版本。对于 zulu-8,这个问题出现了,对于像 zulu-17 这样的更高版本,代码工作得很好。所以我将不得不使用更高版本或找到解决方法。感谢您的回复。