关于jvm应用获得的系统时间问题

(edit by justin)前两日在test某个应用的时候发现一个问题,话说这个应用里面的一个功能是会取得系统的时间并在前段显示,当然部署的服务器的时间设置是美国的太平洋时间(PDT),但是应用启动后在前端的显示无论如何都是中国本地时间(CST),这个究竟是怎么个回事呢...

查了相关的资料总算有了点眉目,问题的关键是在jvm虚拟机的时间上,我们的应用在new Date的时候是从jvm中取得当前的时间而不是直接取的系统时间,jvm的时间在启动时如果没有标注启动参数固定user.timezone的时区值的话默认是读取/etc/sysconfig目录下的clock文件中的记录(linux下),该文件内容如下:

ZONE="Asia/Shanghai"
UTC=false
ARC=false

其中的ZONE的值就是标志时区选择的字段,通过修改这个字段为GMT-7 的方式可以修改为美国的PDT市区,意义么大家都懂的咯~

需要注意的是你也可以通过在启动你的jvm的时候增加设置user.timezone的方式来达到修改jvm时区的需求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值