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());
}
java获取日期时间
最新推荐文章于 2021-03-13 10:48:24 发布