2012-07-24 48 views
10

Tôi muốn chuyển đổi thời gian hiện tại thành thời gian trong một múi giờ cụ thể với thời gian Joda.Thời gian Joda - khác nhau giữa các múi giờ

Có cách nào để chuyển đổi DateTime time = new DateTime() đến một múi giờ cụ thể, hoặc có lẽ để có được số giờ chênh lệch giữa time.getZone()DateTimeZone khác để sau đó làm time.minusHours hoặc time.plusHours?

Trả lời

27

Tôi muốn chuyển đổi thời gian hiện tại thành thời gian trong múi giờ cụ thể với thời gian Joda.

Nó không thực sự rõ ràng cho dù bạn đã thời gian hiện tại hay không. Nếu bạn đã có nó, bạn có thể sử dụng withZone:

DateTime zoned = original.withZone(zone); 

Nếu bạn chỉ lấy thời gian hiện tại, sử dụng appropriate constructor:

DateTime zoned = new DateTime(zone); 

hoặc sử dụng DateTime.now:

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

Cảm ơn Jon. Tôi đã có thời gian hiện tại - xin lỗi vì không quá rõ ràng về điều đó. original.withZone thực hiện thủ thuật. – Michael

+0

Bạn cũng có thể làm 'DateTime.now (zone)'? –

+0

@JoshPinter: Vâng, điều đó cũng sẽ ổn - Tôi sẽ thêm điều đó làm tùy chọn. –

Các vấn đề liên quan