以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. 使用C#发送正文带图片邮件

    最近有个地方用到正文带图片的邮件发送功能,由于发送邮件调用的是web service,要求正文必须是string,而接收方要能看到图片,还不能单纯的添加一个图片地址链接,查阅了很多资料,基本上都是从头 ...

  2. The "Real" Project Plan

    "I need a project plan by tomorrow morning." As project managers, that's what we hear. But ...

  3. 深入css中的margin

    深入css中的margin 第一:margin-top css代码(元素没有任何定位的情况下,并且元素默认为block) <style type="text/css"> ...

  4. Ext.widget()作用是使用别名创建对象。

    Ext.widget()作用是使用别名创建对象.使用已经的定义的组件的别名创建这个对象

  5. JQuery: JQuery效果(隐藏、显示、切换,滑动,淡入淡出,以及动画)

    JQuery:效果 JQuery效果有很多,包括隐藏.显示.切换,滑动,淡入淡出,以及动画等.隐藏:JQuery hide() 显示:JQuery show() 切换:JQuery toggle() ...

  6. 一网打尽当下NoSQL类型、适用场景及使用公司

    在过去几年,关系型数据库一直是数据持久化的唯一选择,数据工作者考虑的也只是在这些传统数据库中做筛选,比如SQL Server.Oracle或者是MySQL.甚至是做一些默认的选择,比如使用.NET的一 ...

  7. [BS] 小知识点总结-03

    1.Autolayout中“constrain to margins” Autolayout中的页面边距的问题ios8以后的UIView增加了layoutMargins属性,在Storyboard/I ...

  8. CAM350测量

    CAM350 测量方法 1. 单位设置:在菜单:Settings 下选中 Unit: 英制 公制 精确度 CAM350 软件默认的是英制,不习惯用英制的人,就改为公制的呀 软件默认的是英制 就改为公制 ...

  9. 第十五篇 Integration Services:SSIS参数

    本篇文章是Integration Services系列的第十五篇,详细内容请参考原文. 简介在前一篇,我们使用SSDT-BI将第一个SSIS项目My_First_SSIS_Project升级/转换到S ...

  10. MFC对话框Dialog控件处理程序handler因为public修饰符导致无法访问

    比如说你的Dialog有一个Button名为Confirm,对应IDC_CONFIRM,处理程序handler为OnConfirm 那么OnConfirm必须是protected属性,如果是publi ...