驽马十驾

驽马十驾,功在不舍

目录
Linux和Win下的一些时间小知识
/  

Linux和Win下的一些时间小知识

知识点

在Linux系统下有2个关于时间的文件

  • /etc/timezon 这个timezone代表的是时区
  • /etc/localtime 这个localtime代表的是本地时间

按照严格时间概念来说,Linux中时间是通过这2者一起决定的,我们来举个例子。

假如设置Linux的timezoneUTC,设置的localtime北京时间,在Java应用中,new Date()创建出来的时间还是UTC时间。如果希望new出来的时间就是localtime设置的,那么需要设置时区为Asia/Shanghai

上面这句话请好好琢磨

额外提提Window和Linux中时间的不同定义:

  • Win当前时间默认是来自于硬件时间硬件时间也就是我们在BIOS中看到的时间。
  • Linux当前时间出来来自硬件时间而外还结合了时区

我们装Win和Linux双系统的时候,经常会遇到进入不同系统,时间不一致的问题,来源就是这里。

通常会在Win的注册列表中添加一个值: RealTimeIsUniversal,具体可以参考双系统时间差8个小时的处理办法

总结

  • Win很简单暴力,把硬件时间当做当前时区的时间,才不管时区什么的。

  • Linux很智能,把硬件时间作为UTC时间,还结合系统的时区统一计算。

骐骥一跃,不能十步。驽马十驾,功在不舍。
评论