2012-07-24 18 views
10

ジョーダ時間で特定のタイムゾーンの時刻に現在の時刻を変換したい。ジョーダ時間 - タイムゾーンの違い

特定のタイムゾーンにDateTime time = new DateTime()を変換する、または、おそらく、その後time.minusHoursまたはtime.plusHoursを行うためにtime.getZone()と他DateTimeZone間の時間差の数を取得する方法はありますか?

答えて

27

現在の時刻をJoda時間で特定のタイムゾーンの時刻に変換したいとします。

さんが現在の時刻をにしているかどうかは、実際にはっきりしていません。あなたはすでにそれを持っていれば、あなたはwithZoneを使用することができます。

DateTime zoned = original.withZone(zone); 

あなただけの現在の時刻を取得している場合は、appropriate constructorを使用します。

DateTime zoned = new DateTime(zone); 

またはDateTime.nowを使用します。

DateTime zoned = DateTime.now(zone); 
+0

おかげジョン。私はすでに現在の時間を持っています - それについてあまり明確ではないのは残念です。 original.withZoneはトリックを行います。 – Michael

+0

'DateTime.now(zone)'もできますか? –

+0

@JoshPinter:はい、これも問題ありません。これをオプションとして追加します。 –