LocalDateTime 解析为纪元秒
LocalDateTime parse to epoch seconds
我正在尝试将以下形式的字符串 2010-10-12-18-43-55 解析为当前时区纪元以来的秒数。这是我试过的
DateTimeFormatter dateTimeFormatter =
DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss");
我.
String datatetime = "2010-10-12-18-43-55";
Instant.parse(datetime).toEpochMilli;
//Throws
//java.time.format.DateTimeParseException:
//Text '2010-10-12-18-43-55' could not be parsed at index 10
二.
String datatetime = "2010-10-12-18-43-55";
Instant.from(LocalDateTime.parse(datetime, dateTimeFormatter)).toEpochMilli
//Throws
//java.time.DateTimeException: Unable to obtain Instant from
//TemporalAccessor: 2010-10-12T18:43:55 of type
//java.time.LocalDateTime type java.time.LocalDateTime
三.
String datatetime = "2010-10-12-18-43-55";
Instant.from(dateTimeFormatter.parse(datetime, new ParsePosition(0))).toEpochMilli
//Throws
//java.time.DateTimeException: Unable to obtain Instant from
//TemporalAccessor: {},ISO resolved to 2010-10-12T18:43:55
//of type java.time.format.Parsed
有人可以帮我解决这个任务吗?
- 从
Instant
javadocs 开始,String
必须采用 2007-12-03T10:15:30.00Z
. 格式
String
无法解析为 Instant
,因为缺少时区。试试这个:
ZonedDateTime zonedDateTime = ZonedDateTime.of(localDateTime, ZoneId.systemDefault());
- 我不确定你想做什么。
我正在尝试将以下形式的字符串 2010-10-12-18-43-55 解析为当前时区纪元以来的秒数。这是我试过的
DateTimeFormatter dateTimeFormatter =
DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss");
我.
String datatetime = "2010-10-12-18-43-55";
Instant.parse(datetime).toEpochMilli;
//Throws
//java.time.format.DateTimeParseException:
//Text '2010-10-12-18-43-55' could not be parsed at index 10
二.
String datatetime = "2010-10-12-18-43-55";
Instant.from(LocalDateTime.parse(datetime, dateTimeFormatter)).toEpochMilli
//Throws
//java.time.DateTimeException: Unable to obtain Instant from
//TemporalAccessor: 2010-10-12T18:43:55 of type
//java.time.LocalDateTime type java.time.LocalDateTime
三.
String datatetime = "2010-10-12-18-43-55";
Instant.from(dateTimeFormatter.parse(datetime, new ParsePosition(0))).toEpochMilli
//Throws
//java.time.DateTimeException: Unable to obtain Instant from
//TemporalAccessor: {},ISO resolved to 2010-10-12T18:43:55
//of type java.time.format.Parsed
有人可以帮我解决这个任务吗?
- 从
Instant
javadocs 开始,String
必须采用2007-12-03T10:15:30.00Z
. 格式
String
无法解析为Instant
,因为缺少时区。试试这个:ZonedDateTime zonedDateTime = ZonedDateTime.of(localDateTime, ZoneId.systemDefault());
- 我不确定你想做什么。