2012-03-16 74 views
0

我有一个ISO 8601时间字符串,并希望计算时间差现在在几分钟内没有使用乔达时间。这是如何完成的?它使用SimpleDateFormatAndroid/Java时差与现在的ISO 8601

感谢

+0

还有一个[this](http://stackoverflow.com/q/567659/642706)和其他许多人。 – 2016-03-30 19:48:29

回答

1

解析得到Date,拿到以来的毫秒数-UNIX的时代,使用Date.getTime()的,然后用System.currentTimeMillis()比较。

如果你的ISO-8601字符串包含一个时区像偏移“-08:00”(其中他们肯定可以),你需要先卸下结肠,并使用Z格式说明中SimpleDateFormat。 (在Java 7中你可以使用X,但据我所知在Android的版本SimpleDateFormat是不可用的。)

+0

工作。非常感谢! – mraviator 2012-03-16 12:30:21

+0

请注意,我必须在SimpleDateFormat格式中删除“Z”才能正常工作。 – mraviator 2012-03-16 13:15:14

0

什么javax.xml.datatype.Duration中通过javax.xml.datatype.DatatypeFactory作为返回?

+0

无所谓:http://code.google.com/p/android/issues/detail?id=14379 – 2012-08-02 22:54:38

+0

我最终复制了文件org/apache/axis/types/Duration.java,并进行了一些修改。 – 2012-08-02 23:06:17