2016-09-21 8 views
-4

Google DateTimeorg.joda.time.DateTimeに変換します。互換性のないタイプ:com.google.api.client.util.DateTimeをorg.joda.time.DateTimeに変換できません

これはGoogleの実装のコードです。

http://grepcode.com/file/repo1.maven.org/maven2/com.google.http-client/google-http-client/1.15.0-rc/com/google/api/client/util/DateTime.java

私はこれをどのように実装することができますか?

+0

? – Stewart

+1

[この回答](http://stackoverflow.com/a/21724350/1314743)を参照してください。 –

+0

@Stewart私にコードの例を教えてもらえますか? –

答えて

1

日付/時刻値はUnixエポックからのミリ秒数として表現を返します。 タイムゾーンが指定されている場合、この値はUTCに標準化されているため、この日付/時刻の値をフォーマットするには、タイムゾーンのシフトを適用する必要があります。


公共日時(長い瞬間)

は1970-01-01T00からミリ秒に設定インスタンスを構築:00:00Zの内ISOChronologyを使用してデフォルトのタイムゾーン


// getValue() return millis since epoch 
long millis = googleDate.getValue(); 

// Which is accepted by Joda DateTime's constructor 
DateTime jodaDate = new DateTime(millis); 
+0

からmillisを使うことができます。テストしましたが、nullになります。おそらく問題はどこか他の場所です。 –

+0

'getValue()'はプリミティブ 'long'を返します。ヌルにすることはできません。 – Stewart

0

おそらくそれは遅すぎですが、

//Let's suppose date is our google DateTime 
org.joda.time.DateTime jodaDate = date.getDateTime(date.getValue); 

これは、Googleの日付時刻long値から新しいジョダのDateTimeを作成し、以下のように私は非常に同様の問題を解決してきた

`java.util.Date`経由で
関連する問題