Joda Time - отличается от часовых поясов
Я хочу преобразовать текущее время в определенное время в конкретный часовой пояс с временем в Joda.
Есть ли способ конвертировать DateTime time = new DateTime()
в конкретный часовой пояс или, возможно, для того, чтобы получить число разностей часов между time.getZone()
и другим DateTimeZone
, чтобы сделать time.minusHours
или time.plusHours
?
Ответы
Ответ 1
Я хочу преобразовать текущее время в время в определенном часовом поясе с временем Joda.
Не совсем понятно, есть ли у вас текущее время или нет. Если вы уже получили его, вы можете использовать с withZone
:
DateTime zoned = original.withZone(zone);
Если вы просто выбираете текущее время, используйте соответствующий конструктор:
DateTime zoned = new DateTime(zone);
или используйте DateTime.now
:
DateTime zoned = DateTime.now(zone);
Ответ 2
Проверьте DateTimeZone & Interval:
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