2012-03-16 51 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