java 日志时间错误

java时区错误解决方法问题参考链接电脑上所有java应用、项目时间都不对。核心业务系统启动后日志时间和当前系统时间差11个小时30分钟,电脑用的是云桌面系统有严格的权限控制,找相关人和同事弄了几次没好;都知道是时区问题,但没注意到系统桌面右下角的提示。最后解决方法很简单,先说解决方法。(出现问题的主机是无法连接公网的,文件也无法外传,图片都是照片;)解决方法在windows…

大家好,又见面了,我是你们的朋友全栈君。

java 时区错误

电脑上所有 java 应用、项目时间都不对。 核心业务系统启动后日志时间和当前系统时间差11个小时30分钟,电脑用的是云桌面系统有严格的权限控制,找相关人和同事弄了几次没好;都知道是时区问题,但没注意到系统桌面右下角的提示。最后解决方法很简单,先说解决方法。

(出现问题的主机是无法连接公网的,文件也无法外传,图片都是照片;)

解决方法

1.第一种: 在 windows 桌面右下角点击时间选择正确的时区即可
在这里插入图片描述
2. 第二种: 直接在启动java应用时添加 -Duser.timezone=Asia/Shanghai
在这里插入图片描述
刚开始用的这个方法,后来每次启动一个 IDEA/JBoss/MyEclipse/Jetty 等都要设置这个变量,好烦。还是得去看看怎么回事

问题

我先用 jvisualvm 看了一下 发现系统属性最后一项是 user.timezone=America/Bahia 而别人的都是 user.timezone=GMT+08:00user.timezone=Asia/Shanghai
然后我写了一段代码看 java 应用的 env 和 properties ,及 时间是从 jdk 哪个类来获得的。
看testTimeZone方法
看testTimeZone方法,断点进去后最后到一个关键方法getSystemTimeZoneID()
(下面的图片是修改正确后的拍照截图,没拍错误的)
在这里插入图片描述
getSystemTimeZoneID()走完后 zoneID 就确定了,而getSystemTimeZoneID() 是个 native 方法,调试运行的话会直接到 String 类 使用 byte[] 和指定的 编码字符集确定值。网上搜了一下 源码 大概明白了 jvm 获取时区的策略,
TimeZone 这个链接就有简要说明。现在可以确定不是 java 或 jdk 的问题而是系统问题。 在搜索的过程中有人说是注册表的问题,去按照相应位置看看,设置也正常
在这里插入图片描述
在这里插入图片描述
然后就在页面点了点链接 “无法识别您当前的时区” ,点了我的桌面右下角一看,也有这问题。点击选择正确的时区后,重启java应用,使用 jvisualvm 查看,系统变量设置为user.timezone=GMT+08:00时间也正常了。
问题最后解决的很简单,只是一开始没去系统时间那点点看。
至于为什么错误的会是 user.timezone=America/Bahia 等找到完整的 native 方法 getSystemTimeZoneID() 搭个环境,再打断点看看。

参考链接

https://www.jb51.net/os/windows/293509.html
http://www.xitongtiandi.net/wenzhang/win7/2015-10-05/3300.html
https://blog.51cto.com/2005713/698032
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6456628
还有一个链接是 getSystemTimeZoneID() 源码,现在找不见了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127352.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 怎样利用爬虫爬网站数据(爬虫可以爬取哪些数据)

    回顾2016年,我用爬虫做了很多事情。1、微信好友的爬虫,了解一下你的好友全国分布,男女比例,听起来似乎是一个不错的想法,当然你还可以识别一下你的好友有多少人是用自己照片作为头像的,详细的内容可以点击这里:Python对微信好友进行简单统计分析2、拉勾网的数据那么多的招聘信息有用吗?当然有用,你想了解一下你所在城市的各种主流语言(Java、PHP、JavaScript、Pytho…

  • 微信开放平台:微信扫码登录功能

    微信开放平台:微信扫码登录功能文章目录微信开放平台:微信扫码登录功能1.授权流程说明2.授权流程代码3.用户登录和登出微信开放平台:微信扫码登录功能官方文档:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html1.授权流程说明微信OAuth2.0授权登录让微信用户使用微信身份安全登录第三方应用或网站,在微信用户授权登录已接入微信OAuth2.0的第三方应用后,第三方可以获取到用户的接口调用凭证(a

  • pycharm激活码2021年7月【2021免费激活】

    (pycharm激活码2021年7月)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlBI7JCUH1TG-eyJsa…

  • 阿里云SSL证书免费申请方法(图文教程)

    阿里云SSL证书免费申请方法(图文教程)2022阿里云免费SSL证书品牌为DIgicertDV单域名证书,每个阿里云账号可以申请20个免费SSL证书资源包,SSL证书大全图文详解阿里云SSL证书免费申请教程,包括SSL证书申请域名DNS验证等操作:阿里云SSL证书免费申请方法1、打开阿里云SSL证书页面,点击“选购SSL证书”,如下图:阿里云SSL证书申请页面2、SSL证书服务选择“DV单域名证书【免费试用】”,如下图:按照以下选择:商品类型:SSL证书 SSL证书服务:DV单域名证书【免费试用】 数量:20.

  • java 0xff00_& 0xFF 与 & 0xFF00 的作用

    java 0xff00_& 0xFF 与 & 0xFF00 的作用c[i]=(char)(b[i]&0xff)(b[i]为byte型,c[i]为char型)觉得与一下0xff没什么用。直接c[i]=(char)b[i]有何异?如:((WORD)((((WORD)(wData)>>8)&0xff)|(((WORD)(wData)<<8)&0xff00)))charc=(ch…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号