同步本地时间与服务器时间的解决方案

来源:互联网 发布:2016怎么找淘宝客推广 编辑:程序博客网 时间:2024/04/29 15:20

java代码里如果想要获取当前系统时间,通常会用下面方式

public static Date getNow() {       return new Date(System.currentTimeMillis());}
在本地测试得到的是你预计的北京当地时间,不会有问题,因为你本机一般也是GMT+8,东八区。但是部署到服务器上就有可能会有问题了,服务器有可能不是设置的GMT+8,东八区,一般都是GMT+0时区,所以按上述方法得到的时间是GMT+0时区的时间,例如你通过date命令看到的是2016-01-21 10:00:00,程序里返回的确实2016-01-21 02:00:00,如果想获得2016-01-21 10:00:00,你需要在程序里设置时区,如下:

public static Date getNow() {    TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));        return new Date(System.currentTimeMillis());}




0 0