2012-03-16 13 views
0

私はISO 8601の時間文字列を持っており、joda時間を使用せずに時差を数分で計算したいと考えています。これはどうですか?Android/Java時差ISO 8601 with now

おかげ

+0

[これ(http://stackoverflow.com/q/567659/642706)と他の多くのdup。 –

答えて

1

System.currentTimeMillis()と比較し、その後、Date.getTime()を使用してミリ秒-以来-UNIXエポックというのを取得し、Dateを取得するためにSimpleDateFormatを使用して、それを解析します。 「-08:00」のようなものとして、オフセット

あなたのISO-8601文字列がタイムゾーンが含まれている場合は(彼らは確かにでき)、あなたは最初のコロンを削除し、中Z書式指定子を使用する必要がありますSimpleDateFormat。 (Java 7ではXを使用することができましたが、私の知る限りAndroidのバージョンSimpleDateFormatでは利用できません)

+0

それはうまくいった。本当にありがとう! – mraviator

+0

「Z」をSimpleDateFormat形式で削除しなければならないことに注意してください。 – mraviator

0

javax.xml.datatype.DatatypeFactoryから返されるjavax.xml.datatype.Durationについて?

+0

気にしないでください:http://code.google.com/p/android/issues/detail?id=14379 –

+0

私はいくつかの変更を加えてorg/apache/axis/types/Duration.javaファイルをコピーしました。 –

関連する問題