我有以下格式的日期,我需要對其進行解析并轉換為紀元時間。2018-11-08 08:17:18.696124我有以下代碼。String dateString = "2018-11-08 08:17:18.696124";DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS");ZonedDateTime dateTime = ZonedDateTime.parse(dateString, fmt); 當我運行時,我收到以下錯誤。無法解析文本“2018-11-08 08:17:18.696124”:無法從 TemporalAccessor 獲取 ZonedDateTime:{},ISO 解析為 java.time.format.Parsed 類型的 2018-11-08T08:17:18.696124對我在這里做錯了什么有任何幫助嗎?
1 回答

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
顧名思義,分區日期時間需要一個區域。您的時間戳格式不包括一個,因此解析失敗。
您應該解析為 aLocalDateTime然后應用正確的區域。例如:
String dateString = "2018-11-08 08:17:18.696124";
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS");
LocalDateTime dateTime = LocalDateTime.parse(dateString, fmt);
ZonedDateTime london = dateTime.atZone(ZoneId.of("Europe/London"));
添加回答
舉報
0/150
提交
取消