我有以下格式的日期:1/1/2020 3:4:7 AM我正在尝试使用DateTimeFormatter.
我有以下带有格式化程序的代码来解析它,但它不起作用。
LocalDateTime date = LocalDateTime.parse("1/1/2020 3:4:7 AM", DateTimeFormatter.ofPattern("MM/dd/yyyy hh:mm:ss a"));
Run Code Online (Sandbox Code Playgroud)
我收到以下异常:
java.time.format.DateTimeParseException: Text '1/1/2020 3:4:7 AM' could not be parsed at index 0
谁能帮我?
java java-time localdatetime datetimeformatter java.time.localdatetime
这看起来是一件非常简单的事情,但我没有这样做。
我有一个字符串模式,yyyyMMddHH我正在尝试解析2021061104为LocalDateTime
这是代码:
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.format.DateTimeParseException;
import java.time.temporal.ChronoField;
import java.time.temporal.ChronoUnit;
class Main {
public static void main(String[] args) {
String pattern = "yyyyMMddHH";
String date = "2021061104";
DateTimeFormatter formatter =
new DateTimeFormatterBuilder()
.parseDefaulting(ChronoField.HOUR_OF_DAY, 0)
.parseDefaulting(ChronoField.MINUTE_OF_HOUR, 0)
.parseDefaulting(ChronoField.SECOND_OF_MINUTE, 0)
.parseLenient()
.appendPattern(pattern)
.toFormatter();
LocalDateTime ldt = LocalDateTime.parse(date, formatter);
}
}
Run Code Online (Sandbox Code Playgroud)
它抛出这个异常:
Exception in thread "main" java.time.format.DateTimeParseException: Text '2021061104' could not be parsed at index 8
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
at …Run Code Online (Sandbox Code Playgroud)