Ubuntu零基础教学-Ubuntu硬件时间与系统时间竟然不一致,一段代码教你重新做人!

Posted bug菌√

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu零基础教学-Ubuntu硬件时间与系统时间竟然不一致,一段代码教你重新做人!相关的知识,希望对你有一定的参考价值。

环境:Ubuntu20.04

前言:

       跑项目偶然在执行新增sql,凡是涉及时间字段,写入时间都与北京时间差8时,就很离谱。可明明Ubuntu系统显示时间跟Windows时间一致啊。接下来,我进行了一段神代码测试! 

 写段main函数获取时间试试,果然不出我所料;运行结果情况控制台。

好家伙,我这是有多拼命,凌晨两点还在奋斗码代码!这肯定是哪里出问题了,可我明明也记得当初安装完Ubuntu后也是重新设置了系统时间,这怎么办呢?查阅相关资料才知道,原来是这样:

出现这种情况的原因是 Windows 和 Ubuntu它们在默认情况下看待硬件时间(主板上的BOIS显示的时间)的方式不一样;

在Linux计算机上,拥有两个时间,一个是硬件时间(Bios中记录的时间,称为hwclock),另一个是操作系统时间(osclock);

你再联想下,java程序获取的时间都是GMT时间(格林尼治时间(0时区的时间)),而系统是北京时间,应该是GMT+8,刚好相差8小时,所以直接推断,Ubuntu硬件时间存在时区差;

我们先来查询下系统时钟和时间设置;直接使用如下指令

timedatectl

果然时区默认转回了美国时区,难怪!

在此,就有必要给科普下关于上方获取到的三时间概念:

  • UTC,即Universal Time Coordinated, 协调世界时
  • GMT,即Greenwich Mean Time, 格林尼治平时
  • RTC时间,即Real-time clock,是电脑的硬件时间

Windows 与 Linux 缺省看待系统硬件时间的方式是不一样的:

Linux 时钟分为系统时钟(System Clock)和硬件(RTC)时钟。Linux把硬件时间当作 UTC,系统时间是UTC时间经过换算得来的。比如说北京时间是GMT+8,则系统中显示时间是硬件时间+8。

Windows把系统硬件(RTC)时间当作本地时间(local time),即系统时间跟BIOS中显示的时间(RTC)是一样的。

那知道原因就知道怎么解决了,只需要把时区改成国内的即可!

设置时区

timedatectl set-timezone "Asia/Shanghai"

来,检测一下,康康时区是否设置成功了:

时区已经设置成功了; 我们再运行下main 函数;

大功告成!new Date获取到的硬件时间 也与系统时间一致了;你学会了?


综上,就是本期干货教学啦,若是不够吃,bug菌再想想办法~

热文推荐:

  1. 如何在win10上安装Ubuntu20.04 
  2. 如何在Ubuntu20.04上安装IDEA 及idea踩坑指南
  3. 如何在Ubuntu20.04上安装maven 及环境变量配置

      ... ...

​若是想要了解更多Ubuntu相关文章,请关注bug菌的专栏《Ubuntu零基础教学》,bug菌会持续更新哒;手把手教你如何吃透Ubuntu!我用双手成就你的梦想。​

如果觉得这篇文章对你有所帮助,还请不忘在文章的左下角,直接pia的一下点亮它 up up up!!!若是我,不用犹豫直接进我的收藏夹吃灰去吧!不管以后用不用的上,先吃上灰再说,哈哈哈哈哈嗝~~


 ❤如果文章对您有所帮助,就请在文章末尾的左下角把大拇指点亮吧!(#^.^#);

❤如果喜欢bug菌分享的文章,就请给bug菌点个关注吧!(๑′ᴗ‵๑)づ╭❤~;

❤对文章有任何问题欢迎小伙伴们下方留言或者入群探讨【群号:708072830】;

❤鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复参与讨论(请勿发表攻击言论,谢谢);

❤版权声明:本文为博主原创文章,转载请附上原文出处链接和本文声明,版权所有,盗版必究!(*^▽^*).

以上是关于Ubuntu零基础教学-Ubuntu硬件时间与系统时间竟然不一致,一段代码教你重新做人!的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu零基础教学-Ubuntu20.04默认以root权限登录 | 超级详细,建议收藏

Ubuntu零基础教学-Ubuntu20.04系统所在分区sda5进行磁盘扩容|详细教程,建议收藏

Ubuntu零基础教学-Ubuntu20.04安装Rosbridge并进行小乌龟测试 | 超级干货,建议收藏

Ubuntu零基础教学-Ubuntu20.04安装maven及配置本地仓库 | 超级详细,强烈建议收藏!

Ubuntu零基础教学-Ubuntu20.04终端无颜色怎么办?在线等挺急的!

Ubuntu零基础教学-Ubuntu20.04安装Git及使用,并上传代码至gitlab服务器 | 超级详细,建议收藏!