java中Time类型里 关于TimeZone 时区 的坑

import java.sql.Time;
import java.util.Date;
import java.util.TimeZone;

public class TimeTest {

   public static void main(String[] agrs) {
      String shanghai = "Asia/Shanghai";
      String harbin = "Asia/Harbin";
      TimeZone.setDefault(TimeZone.getTimeZone(harbin));
      System.out.println("------------------------------change timezone to harbin");
      Time time00 = new Time(-26939000);
      Date date00 = new Date();
      System.out.println(" --- >>> time00:" + time00);
      System.out.println(" --- >>> date00:" + date00 + ",  mill:" + ((Date) date00).getTime());
      TimeZone.setDefault(TimeZone.getTimeZone(shanghai));
      System.out.println("------------------------------change timezone to shanghai");
      System.out.println(" --- >>> time00:" + time00 + ",  mill:" + ((Date) time00).getTime());
      System.out.println(" --- >>> date00:" + date00 + ",  mill:" + ((Date) date00).getTime());
   }
}

 

哈尔滨时区和上海时区, 竟然不一样, 有半个小时的时间差, 如果不小心碰到, 跨时区的对象转化时, 容易遇到坑.

特别是同样的毫秒数,  在不同的时区下转化成的时间是不一样的.   需要有心理准备.

转载于:https://my.oschina.net/u/3548133/blog/1788207

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值