以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. XCODE打包安装包步骤

    1. 2. 3. 4. 5. 6. 7. 导出之后就可以看到一个后缀为.ipa 的安装包.

  2. jade复用

    jade复用说白了就是模板的继承. 使用 block 标识符,设置一个可修改的代码片段 layout.jade doctype html html head block title title Def ...

  3. Scrambled Polygon---poj2007(利用叉积排序)

    题目链接:http://poj.org/problem?id=2007 题意:乱序给出凸多边形的顶点坐标,要求按逆时 针顺序输出各顶点.给的第一个点一定是 (0,0),没有其他点在坐标轴上,没有三点 ...

  4. busybox sz rz命令

    之前板子和电脑之间传送文件的时候都是通过tftp网络下载.所以找了一下在文件系统中使用串口上传文件的方法. rz和sz命令使用zmoderm协议,SecureCRT也用提供这个命令的支持.由于是串口, ...

  5. synzhronized原理3

    1.java中的每个对象都可作为锁,有三种表现形式: 对于普通方法,锁的是当前this对象. 对于静态方法,锁的是class对象 对于方法块,锁的是synchronized指定的对象. 2.JVM基于 ...

  6. 北大,awk 命令基础练习

    北大,awk 命令基础练习 Red Hat Enterprise Linux Version 5.3 Get the latest news about the world's Open Source ...

  7. thinkphp 最简单的引入百度编辑器的方法

    后台肯定是框架了...编辑器放在框架里面... 后台首页比如是这样的... <html> <frameset cols="10%,90%"> <fra ...

  8. 单臂路由+DHCP+VLAN

    使用思科模拟软件Cisco Packet Tracer Student,软件功能有限,只能架设简单的网络架构,适合初学者使用.

  9. SEL数据类型

    // //  main.m //  06-SEL数据类型 // //  Created by apple on 14-3-18. //  Copyright (c) 2014年 apple. All ...

  10. 有关于break,continue,return的区别和代码分析

    今天,用代码和结果直接解释break,continue,return的区别 1.break代码 public static void breakTest() { //break的讲解 for(int ...