强制Java使用东八时区方法

    今天线上有台服务器时区错误,导致很多使用new Date的Java程序都出现时间错误。

    关于时间的故事是这样的,此时此刻我们和美国人的时间戳都是一样的,都是从1970-1-1 0:0:0开始,只是因为我们的时区不同,所以时间的表现形式不一样。所以当时区出问题时,即使我们的时间是正确的使用Date对象的时候也会出问题。解决办法有两种:

方法一
java -Duser.timezone=GMT+8 <test_class>
方法二
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));

    对于时间非常敏感的系统(如计费系统)要监控起系统时间和时区,同时显式指定时区

--end

猜你喜欢

转载自heipark.iteye.com/blog/1975262
今日推荐