将 LocalDateTime.now() 生成的字符串转换为其数据类型
Convert String of generated by LocalDateTime.now() to the its data type
我正在尝试转换值为 LocalDateTime
的字符串并将其转换为 LocalDateTime
数据类型。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSX");
LocalDateTime localDateTime = LocalDateTime.parse(dateTime, formatter);
我也试过用这个:
LocalDateTime localDateTime = LocalDateTime.parse(dateTime);
但是得到同样的解析错误
java.time.format.DateTimeParseException: Text '2019-09-12T11:14:38.176906Z' could not be parsed at index 10
dateTime 变量的值为(在使用 LocalDateTime.now() 之前生成)
2019-09-12T11:14:38.176906Z
您可以使用标准 DateTimeFormatter
之一:
DateTimeFormatter.ISO_DATE_TIME
或 DateTimeFormatter.ISO_OFFSET_DATE_TIME
(您的 String
似乎与 UTC 有偏差)。
对于输出,你可以使用你想要的:
String datetime = "2019-09-12T11:14:38.176906Z";
OffsetDateTime ldt = OffsetDateTime.parse(datetime, DateTimeFormatter.ISO_DATE_TIME);
System.out.println(ldt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
本例中的输出是:2019-09-12 11:14:38
.
我正在尝试转换值为 LocalDateTime
的字符串并将其转换为 LocalDateTime
数据类型。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSX");
LocalDateTime localDateTime = LocalDateTime.parse(dateTime, formatter);
我也试过用这个:
LocalDateTime localDateTime = LocalDateTime.parse(dateTime);
但是得到同样的解析错误
java.time.format.DateTimeParseException: Text '2019-09-12T11:14:38.176906Z' could not be parsed at index 10
dateTime 变量的值为(在使用 LocalDateTime.now() 之前生成)
2019-09-12T11:14:38.176906Z
您可以使用标准 DateTimeFormatter
之一:
DateTimeFormatter.ISO_DATE_TIME
或 DateTimeFormatter.ISO_OFFSET_DATE_TIME
(您的 String
似乎与 UTC 有偏差)。
对于输出,你可以使用你想要的:
String datetime = "2019-09-12T11:14:38.176906Z";
OffsetDateTime ldt = OffsetDateTime.parse(datetime, DateTimeFormatter.ISO_DATE_TIME);
System.out.println(ldt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
本例中的输出是:2019-09-12 11:14:38
.