【问题标题】:Jodatime Convert foreign to local timezone [duplicate]Jodatime将外国时区转换为本地时区[重复]
【发布时间】:2015-08-11 05:04:58
【问题描述】:

我在 GMT 中有一个 DateTime 对象,我想将它转换为我的本地时区 EST。我该怎么做?

我很困惑,因为 EST 是我的本地时区,java 假设任何 DateTime 对象已经在 EST 中,所以 new DateTime(refDate, DateTimeZone.forID('EST')) 没有转换任何东西。

【问题讨论】:

    标签: java jodatime


    【解决方案1】:

    由于您的日期是 GMT 格式,首先您需要使用 UTC 解析日期,然后将其转换为您的本地时区。

            String gmtTime = "2015-05-28 11:36:38.0";
    
            DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.S");
            DateTime dateTime = fmt.withZoneUTC().parseDateTime(gmtTime);
            System.out.println("UTC Time: "+dateTime);
    
            DateTime now = dateTime.toDateTime(DateTimeZone.forID("EST"));
            System.out.println("Current EST Time " +now);
    

    输出

    UTC Time: 2015-05-28T11:36:38.000Z
    Current EST Time 2015-05-28T06:36:38.000-05:00
    

    【讨论】:

      猜你喜欢
      • 2019-05-29
      • 2016-09-12
      • 2021-03-10
      • 1970-01-01
      • 1970-01-01
      • 2014-08-12
      • 1970-01-01
      • 2013-05-26
      相关资源
      最近更新 更多