我必須將以下字符串解析為更易讀的日期格式。字符串日期 = "20190112151605.0Z";但是,我以前從未遇到過(guò)Z。我知道這與時(shí)區(qū)有關(guān),但是當(dāng)我嘗試使用我常用的代碼時(shí),我得到一個(gè) java.lang.NumberFormatException。我的代碼如下: String whenChanged = "20190112151605.0Z"; long DIFF_NET_JAVA_FOR_DATE_AND_TIMES = 11644473600000L; long adDate1 = Long.parseLong(whenChanged); long adLongDate1 = ( adDate1 / 10000 ) - DIFF_NET_JAVA_FOR_DATE_AND_TIMES; Date lastLogonDate1 = new Date(adLongDate1); String format2 = new SimpleDateFormat("MM/dd/yyyy HH:mma'Z'").format(lastLogonDate1);任何幫助都會(huì)很棒。謝謝
2 回答

呼如林
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
這會(huì)成功的。表示UTCZ時(shí)區(qū)
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyyMMddHHmmss.Sz");
ZonedDateTime parsed = ZonedDateTime.parse("20190112151605.0Z", fmt);
System.out.println(parsed); // prints 2019-01-12T15:16:05
請(qǐng)參閱日期時(shí)間格式化程序

慕雪6442864
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
你有必要對(duì)這些時(shí)區(qū)做任何事情嗎?
如果沒(méi)有,你可以做
if(whenChanged.contains('Z')){
whenChanged = whenChanged.substring(0,date.indexOf('Z'));
}
添加回答
舉報(bào)
0/150
提交
取消