Вопрос по timezone, datetime, java, jodatime – Joda Time - разные часовые пояса
Я хочу преобразовать текущее время в время в определенном часовом поясе с временем Joda.
Есть ли способ конвертироватьDateTime time = new DateTime()
в конкретный часовой пояс, или, возможно, чтобы получить разницу в количестве часов междуtime.getZone()
и другойDateTimeZone
чтобы потом сделатьtime.minusHours
или жеtime.plusHours
?
2
ответа
I want to convert the current time to the time in a specific timezone with Joda time.
Не совсем понятно, уже ли выgot текущее время или нет. Если вы уже получили его, вы можете использоватьwithZone
:
DateTime zoned = original.withZone(zone);
Если вы просто выбираете текущее время, используйтесоответствующий конструктор:
DateTime zoned = new DateTime(zone);
или использоватьDateTime.now
:
DateTime zoned = DateTime.now(zone);
Спасибо Джон. У меня уже есть текущее время - извините, что не слишком ясно об этом. original.withZone делает свое дело.
Michael
Проверять, выписыватьсяDateTimeZone & Амп;интервал:
DateTime dt = new DateTime();
// translate to London local time
DateTime dtLondon = dt.withZone(DateTimeZone.forID("Europe/London"));
Интервал:
Interval interval = new Interval(start, end); //start and end are two DateTimes