使用JodaTime将本地时间转换为特定国家/地区时间

时间:2019-01-03 02:53:26

标签: java jodatime android-jodatime

我想弄清楚如何将一个人的当地时间与乔达(Joda)转换为英国时间时遇到问题。 说, 2015年3月31日上午12:00:01华盛顿特区时间(可以是任何国家/地区的时间)

31-01-2015 5:00:01 am伦敦时间(伦敦时间应始终为输出)

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

似乎无法将其格式化为这种格式 日/月/小时:min:sec:a

1 个答案:

答案 0 :(得分:1)

输入格式为华盛顿特区时间,输出为伦敦时间 您可以将多个区域ID用作输入和输出。 从here

获取时区ID
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

相关问题