Вопрос по timezone, datetime, java, jodatime – Joda Time - разные часовые пояса

10

Я хочу преобразовать текущее время в время в определенном часовом поясе с временем Joda.

Есть ли способ конвертироватьDateTime time = new DateTime() в конкретный часовой пояс, или, возможно, чтобы получить разницу в количестве часов междуtime.getZone() и другойDateTimeZone чтобы потом сделатьtime.minusHours или жеtime.plusHours?

Ваш Ответ

2   ответа
27

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);
Не могли бы вы также сделатьDateTime.now(zone)?
@JonSkeet Приветствия!
Спасибо Джон. У меня уже есть текущее время - извините, что не слишком ясно об этом. original.withZone делает свое дело. Michael
@JoshPinter: Да, это тоже было бы хорошо - я добавлю это в качестве опции.
8

Проверять, выписываться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

Похожие вопросы