【发布时间】:2019-02-11 20:08:31
【问题描述】:
我必须将以下字符串解析为更易读的日期格式。
字符串日期 = "20190112151605.0Z";
但是,我以前从未遇到过 Z。我知道这与时区有关,但是当我尝试使用我常用的代码时,我得到一个 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);
任何帮助都会很棒。谢谢
【问题讨论】:
-
这里是对 Z 的解释:stackoverflow.com/questions/27840670/…。使用它,您需要编写逻辑以在将字符串的其余部分解析为数字之前去除 Z。
-
为什么不使用如下格式解析
whenChanged字符串:SimpleDateFormat("yyyyMMddHHmmss.S'Z'")? -
你应该使用new Date and Time API。
标签: java date simpledateformat