以centos为例,其它系统应该是一样或者类似的.

需要用到两个命令: date 和 hwclock

其中 date 命令由 coreutils 这个包提供, hwclock 命令由 util-linux 这个包提供.看这两个包名应该可以感觉出这两个包都是属于非常基本的包,所以不用担心你的linux分发版没有这两个命令.

先说设置时间,设置时间要用到 date 命令.

来个例子: date -s "2015-12-21 13:30"

后面表示时间的字符串可以有很多种格式,具体可参考手册.

以上命令只是设置"系统时间",而不会改变"硬件时间".据说如果仅仅设置系统时间,系统会在下次启动的时候重新从硬件中读取硬件时间,导致设置的时间会在重启后失效.具体没试,感觉挺有道理.

对于"系统时间"和"硬件时间"的个人理解是,硬件时间是我们进bios时看到的时间,它能够往前推进是依靠主板上的那个纽扣电池.而对于"系统时间",是系统在启动的时候从硬件那里同步了一份"硬件时间",系统启动之后的时间标准就依靠"系统时间","系统时间"能够往前推进是依靠系统的运行.

系统时间和硬件时间之间的交互可以使用 hwclock 命令:

来个例子,利用硬件时间修改系统时间: hwclock --hctosys

利用系统时间修改硬件时间: hwclock --systohc

查看硬件时间: hwclock --show

这两个命令的这几个用法应该可以满足简单的需求了,hwclock --utc 这个貌似是使用utc时间,还没细究utc时间是啥.

+++++++++新增新增+++++++++++

当使用 hwclock 来依据系统时间设置硬件时间的时候,若使用--utc 选项,则设置的硬件时间是按照时区与本地时间经过变换后的时间,也就是说,我们进bios看到的时间很可能会与在系统中看到的系统时间不一样,这个要依赖我们在系统中使用的时区.

这也就能解释为什么我们安装了双系统之后,在windows系统中和linux系统中的时间不一样. 据说windows中显示的时间是按照硬件时间来的,那接下来我们就把在bios中看到的时间等同与在windows系统中显示的时间(硬件时间).

假设在windows中的时间是准确的, 但是linux显示时间的时候, 要从硬件取来时间, 然后根据时区的设置对从硬件取得的时间进行变换, 把变换得到的时间作为系统时间. so, 问题来了. 按照这个过程, 明显可以看出linux中显示的时间就应该和windows中的不一样.

有一个跟 --utc 类似的选项, 是 --localtime , 当使用 hwclock --systohc 或者是 hwclock --hctosys 的时候, 可以使用 --localtime 选项, 然后系统时间和硬件时间同步的时候就不按照时区对时间进行变换了.

边学边卖, 如有错误, 恳请指正.

顺便说一下, hwclock 命令的手册上--show 选项有一句是这样的, The time shown is always in local time.

linux系统的时间调整的更多相关文章

  1. Linux系统date时间设定

    修改linux系统的时间EDT和EST为CST EDT:指美国东部夏令时间 EST:英国时间 CST:北京时间 那么现在只要改成北京时间的时区CST就可以了,修改如下: [root@localhost ...

  2. date linux系统校正时间

    date命令使用 -d<字符串>  显示字符串所指的日期与时间.字符串前后必须加上双引号.   date -d '13 second ago' ‘+%T’  13秒前   date +%T ...

  3. Linux系统硬件时间12小时制和24小时制表示设置

    目前的服务器status是下面这样的 服务器系统    centos7 Linux系统时间      Fri Mar 20 15:26:27 CST 2020 Linux系统硬件时间  Fri 20 ...

  4. django 获取系统当前时间 和linux 系统当前时间不一致 问题处理。

    问题场景: 在django admin models 实体对象添加一个属性最后修改时间,用户在添加.修改是系统自动修改操作时间. UpdateTime自动获取系统时间.并且自动修改. 代码设置如下. ...

  5. 如何修改linux时间? 校正linux系统的时间

    第一步:通过xshell远程连接到linux系统 第二步:输入 tzselect 第三步:选择所在的州,中国人请选择 5 ,亚洲 第四步:选择你所在的国家,中国人请选择9,中国 第五步:选择一个时区, ...

  6. 笔记:查看linux系统开机时间

    [root@localhost ~]# uptime -s -- :: 通过命令uptime -s 查看系统开机时间

  7. 使用ntpdate校正linux系统的时间

    当Linux服务器的时间不对的时候,可以使用ntpdate工具来校正时间. 安装:yum install ntpdate ntpdate简单用法: # ntpdate ip # ntpdate 210 ...

  8. Linux 系统开机时间及当前时间

    最近一次系统开机时间:date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M ...

  9. Linux系统中时间区域和API

    1.问题 在开发云平台程序的时候,经常会碰到时间区域转换的问题.比如,任何网络存储的文档的metadata都自己记录了编辑时间.但是,云平台记录时需要把这个时间转成标准时间,便于管理.但是用户使用的时 ...

随机推荐

  1. appium testcase2

    自己跑的两个case都在盘里,可以直接解压后放到workspace,加载工程就能跑,前提是你的环境没有问题 http://pan.baidu.com/s/1bnHCyn1 eclipse-File-i ...

  2. SQL学习笔记 SQL ORDER BY 关键字

    SELECT column_name,column_nameFROM table_nameORDER BY column_name,column_name ASC|DESC; SELECT id, n ...

  3. swift-03-构造器(Designated&&Convenience)

    类里面所有的存储型属性--包括所有继承自父类的属性,都必须在构造过程中设置初始值.   构造器,为了确保所有类实例中的存储型属性都能获得初始值,设置了两个构造器--他们分别是指定构造器和便利构造器. ...

  4. 【转】Android Canvas绘图详解(图文)

    转自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1212/703.html Android Canvas绘图详解(图文) 泡 ...

  5. leetcode算法

    Given a linked list, return the node where the cycle begins. If there is no cycle, returnnull. Follo ...

  6. iOS ARC环境下dealloc的使用

    众所周知,iOS开发的时候,使用ARC的话,dealloc函数是不需要实现的,写了反而会出错. 但有些特殊的情况,dealloc函数还是需要的. 比如,在画面关闭的时候,需要把ViewControll ...

  7. gdb 7.11

    因为CentOS自带的GDB版本有点低,所以下载了最新的gdb 7.11编译以后,调试过程中提示以下错误. Python Exception <type 'exceptions.NameErro ...

  8. 清除Outlook 2013中缓存的邮件地址

    1.删除相关文件(可能会没有访问权限): 路径:C:\Documents and Settings\user\用户名\Application Data\Microsoft\Outlook 文件名:ou ...

  9. App开发需要了解的基本技术

    本文针对小白用户对App做一个简单的介绍,首先要了解App都有哪些类型,不同的类型适用于哪些需求,用户可以根据自己的需求选择不同的App开发. 一 App有哪些形式 WebApp:简单来说,Web A ...

  10. 淘宝杨志丰:OceanBase--淘宝结构化大数据解决之道

    时至今日,“Big data”(大数据)时代的来临已经毋庸置疑,尤其是在电信.金融等行业,几乎已经到了“数据就是业务本身”的地步.这种趋势已经让很多相信数据之力量的企业做出改变.恰逢此时,为了让更多的 ...