【发布时间】:2014-09-07 15:11:45
【问题描述】:
我正在尝试编写一些内容,它将在 UTC 时间中接收具有以下格式的字符串,并将其格式化为从手机获取的本地时区。但是,尽管查看了SimpleDateFormat documentation,但我遇到了我的示例字符串无法解析的错误:
W/System.err﹕ java.text.ParseException: Unparseable date: "2014-07-16T21:00:00:000+0000" (at offset 19)
W/System.err﹕ at java.text.DateFormat.parse(DateFormat.java:555)
[...]
D/Set time:﹕ Wed Jul 16 15:10:03 PDT 2014
D/TimeInMilli:﹕ 1405548603565
代码:
Calendar cal = Calendar.getInstance();
TimeZone tz = cal.getTimeZone(); //Get phone's PST zone
String UTCinput = "2014-07-16T21:00:00:000+0000"; //2:00PM PST
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
format.setTimeZone(tz);
Date dateCal = new Date();
try {
dateCal = format.parse(UTCinput);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
cal.setTime(dateCal);
Log.d("Set time: ", String.valueOf(dateCal));
Log.d("TimeInMilli: ", String.valueOf(cal.getTimeInMillis()));
我的解析方式有什么问题?
【问题讨论】:
-
遇到这种谜团时,复制粘贴示例代码。 StackOverflow.com 上有很多 SimpleDateFormat 代码示例,您可以在发布之前尝试过。
标签: java android parsing date simpledateformat