Преобразование местного времени в определенное время страны с JodaTime
У меня проблемы с попыткой выяснить, как преобразовать местное время человека в британское время с Джодой. Скажите, 31-01-2015 12:00:01 утра Вашингтон (время может быть время любой страны), чтобы
31-01-2015 5:00:01 по лондонскому времени (лондонское время всегда должно быть выходным)
DateTimeZone zone = DateTimeZone.forID("Europe/London"); DateTime dt = new DateTime(zone);
Не могу отформатировать это в этот форматДень-Месяц-Год час: мин: сек: а
1 ответ
Формат ввода - время в Вашингтоне, округ Колумбия, а вывод - по лондонскому времени. В качестве входных и выходных данных можно использовать несколько идентификаторов зон. Получить идентификаторы часовых поясов отсюда
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.joda.time.format.DateTimeFormat;
public class Test {
public static void main(String[] args) throws Exception {
final DateTimeZone fromTimeZone = DateTimeZone.forID("EST");
final DateTime dateTime = new DateTime("2019-01-03T01:25:00", fromTimeZone);
final org.joda.time.format.DateTimeFormatter outputFormatter
= DateTimeFormat.forPattern("yyyy-MM-dd hh:mm:ss a").withZone(DateTimeZone.forID("Europe/London"));
System.out.println("London time":outputFormatter.print(dateTime));
}
выход:
2019-01-03 06:25:00 AM