Haisen大王 2019-04-02 09:56 采纳率: 50%
浏览 950
已结题

java 北京时间转太平洋时间

我在用 Java 的工具库 joda 来完成的时区的转换。

dateTime = new DateTime(dateTime).withZone(DateTimeZone.forID("US/Arizona")).toLocalDateTime().toDateTime();

但有一点没想明白。。北京时间转成 太平洋时间,不是要考虑 冬令和夏令的问题嘛。

但是我转换后得到的太平洋时间,始终是相差 15个小时,没有出现16个小时的问题。

  • 写回答

2条回答

  • qq_42589387 2019-04-02 11:14
    关注

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.*;

    /**

    • Created by LiChao on 2017/11/23
      */
      public class RegexTest {

      public static void main(String args[]) throws ParseException {

      UTCToCST("2017-11-27T03:16:03.944Z", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
      

      }

      public static void UTCToCST(String UTCStr, String format) throws ParseException {
      Date date = null;
      SimpleDateFormat sdf = new SimpleDateFormat(format);
      date = sdf.parse(UTCStr);
      System.out.println("UTC时间: " + date);
      Calendar calendar = Calendar.getInstance();
      calendar.setTime(date);
      calendar.set(Calendar.HOUR, calendar.get(Calendar.HOUR) + 8);
      //calendar.getTime() 返回的是Date类型,也可以使用calendar.getTimeInMillis()获取时间戳
      System.out.println("北京时间: " + calendar.getTime());
      }

    }

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料