上一篇: Linux 绑定ARP
Linux 时间命令
[ 2009/02/16 21:01 | by selboo ]
Linux中的时间和时区
格林威治时间(GMT Greenwich Mean Time)是我们常提到的, 它也就是0时区时间. 但是我们在计算机中经常看到的是UTC. 它是Universal Time Coordinated的简写. 虽然可以认为UTC和GMT的值相等(误差相当之小),但是UTC已经被认定为是国际标准,所以我们都应该遵守标准只使用UTC.假如现在中国当地的时间是晚上8点的话,我们可以有下面两种表示方式:20:00 CST和12:00 UTC,这里的CST是Chinese Standard Time,也就是我们通常所说的北京时间了. 因为中国处在UTC+8时区,依次类推那么也就是12:00 UTC了.时区的另一个概念问题请看:http://bldmickey.blog.sohu.com/52743243.html
设置Linux Time Zone
在Linux下glibc提供了我们事先编译好的许多timezone文件, 他们就放在/usr/share/zoneinfo这个目录下。
设置时区的方式:
[root@localhost ~]# ln -sf /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime
修改/etc/sysconfig/clock文件,例如:
[root@localhost ~]# cat /etc/sysconfig/clock
ZONE="Asia/Shanghai"
UTC=false
ARC=false
设置TZ环境变量的值
TZ的值可以有多种格式,最简单的设置方法就是使用tzselect命令,或者设置TZ环境变量
You can make this change permanent for yourself by appending the line
TZ='Asia/Shanghai'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
[root@localhost ~] #date
Thu Sep 20 17:40:08 CST 2007
修改系统时间
语法:date -s "dd/mm/yyyy hh:mm:ss"例如:
date -s 20090216 设置成2009年2月16日,这样会把具体时间设置成空00:00:00
date -s 20:04:12 设置具体时间,不会对日期做更改
date -s "20:04:12 2007-09-09" 这样可以设置全部时间
Linux中的RTC和系统时钟
在一台计算机上我们有两个时钟:一个称之为硬件时间时钟(RTC),还有一个称之为系统时钟(System Clock)。硬件时钟是指嵌在主板上的特殊的电路, 它的存在就是平时我们关机之后还可以计算时间的原因。系统时钟就是操作系统的kernel所用来计算时间的时钟. 它从1970年1月1日00:00:00 UTC时间到目前为止秒数总和的值在Linux下系统时间在开机的时候会和硬件时间同步(synchronization),之后也就各自独立运行了。在一些虚拟机中经常会出现RTC和系统时钟不同步的情况。
[root@localhost ~]# hwclock -r [root@localhost ~] #读取当前硬件时间时钟(RTC),
Thu 20 Sep 2007 05:51:53 PM CST -0.445215 seconds
[root@localhost ~]# hwclock -w
[root@localhost ~]# hwclock -w or hwclock --systohc将系统时钟同步到RTC
设置Linux NTP Client
[root@localhost ~] # crontab -e
转换时间为时间戳
[root@localhost ~]# date +%s -d "20090216" 只填写日期.默认会把时间设置成00:00:00
1234713600
[root@localhost ~]# date +%s -d "20090216 19:54:19"
1234785259
转换时间戳为时间
[root@localhost ~]# date -d '19700101 UTC 1234713600 seconds'
2009年 02月 16日 星期一 00:00:00 CST
[root@localhost ~]# date -d '19700101 UTC 1234785259 seconds'
2009年 02月 16日 星期一 19:54:19 CST