Преобразование местного времени в определенное время страны с JodaTime - PullRequest
0 голосов
/ 03 января 2019

У меня проблема с попыткой выяснить, как преобразовать местное время человека в британское время с помощью Joda.Скажем, 31-01-2015 12:00:01 по времени Вашингтона (может быть временем любой страны) до

31-01-2015 5:00:01 по лондонскому времени (лондонское время всегда должно быть выходным)

DateTimeZone zone = DateTimeZone.forID("Europe/London"); DateTime dt = new DateTime(zone);

Не могу отформатировать это в этот формат День-Месяц-Год час: мин: сек: a

1 Ответ

0 голосов
/ 03 января 2019

Формат ввода - время в Вашингтоне, округ Колумбия, а выход - в лондонском времени. В качестве входа и выхода можно использовать несколько идентификаторов зон.Получить идентификаторы часовых поясов из здесь

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

Ref

...