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()); } }
哈尔滨时区和上海时区, 竟然不一样, 有半个小时的时间差, 如果不小心碰到, 跨时区的对象转化时, 容易遇到坑.
特别是同样的毫秒数, 在不同的时区下转化成的时间是不一样的. 需要有心理准备.