int days = Calendar.getInstance().get(Calendar.DATE);windows和linux不一致?

int days = Calendar.getInstance().get(Calendar.DATE);windows和linux不一致?

问题描述:

int days = Calendar.getInstance().get(Calendar.DATE);本地获取为3、Linux系统为2,怎么使Linux系统也为2?

原因:jvm和linux系统使用的时区不同。springboot启动加一个启动参数就行了。linux系统的时区是没有问题的。

java -jar -Duser.timezone=GMT+08 xxx.jar

可能和时区的设置有关系,看下你linux下的时区怎么设置的,是不是设置成美国那边的了,所以少了半天
你可以调试输出下小时、分钟、秒看看

时区不一致的原因,之前项目中遇到过,设置一下时区就可以了