正在加载中……
最新消息:欢迎大家访问,导航分类不完善,如果找不到自己想要的文章,可以通过【关键词】来进行搜索,^_^!

Linux学习笔记_查看&修改Linux当前日期和时间

Linux专题 REKFAN.COM 11874浏览 1评论

更多


Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。
Linux中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock。

一、关于date

名称 : date
使用权限 : 所有使用者
使用方式 :
date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

说明 :
date 可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下 :
------------------------------------------------------------------
时间方面 :

 % : 印出 %
%n : 下一行
%t : 跳格
%H : 小时(00-23)
%I : 小时(01-12)
%k : 小时(0-23)
%l : 小时(1-12)
%M : 分钟(00-59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00-60)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区

 日期方面 :

 %a : 星期几 (Sun-Sat)
%A : 星期几 (Sunday-Saturday)
%b : 月份 (Jan-Dec)
%B : 月份 (January-December)
%c : 直接显示日期与时间
%d : 日 (01-31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001-366)
%m : 月份 (01-12)
%U : 一年中的第几周 (00-53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0-6)
%W : 一年中的第几周 (00-53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000-9999)

若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数
参数 :
-d datestr : 显示 datestr 中所设定的时间 (非系统时间)
--help : 显示辅助讯息
-s datestr : 将系统时间设为 datestr 中所设定的时间
-u : 显示目前的格林威治时间
--version : 显示版本编号
------------------------------------------------------------------

例子 :

显示当前时间:
[root@rekfan.com /]# Date
2012年 08月 31日 星期五 14:01:22 CST

显示时间后跳行,再显示目前日期:
[root@rekfan.com /]# date '+%T%n%D'
14:07:48
08/31/12

显示月份与日数:
[root@rekfan.com /]# date '+%B %d'
八月 31

显示日期与设定时间(12:34:56):
[root@rekfan.com /]# date --date '12:34:56'

修改时间:
date –s:按字符串方式修改时间

只修改日期,不修改时间:
[root@rekfan.com /]# date -s 2007-08-03

只修改时间:
[root@rekfan.com /]# date -s 14:15:00

同时修改日期时间,注意要加双引号,日期与时间之间有一空格:
[root@rekfan.com /]# date -s "2007-08-03 14:15:00"

注意 :当你不希望出现无意义的 0 时(比如说 1999/03/07),则可以在标记中插入 - 符号,比如说 date '+%-H:%-M:%-S' 会把时分秒中无意义的 0 给去掉,像是原本的 08:09:04 会变为 8:9:4。另外,只有取得权限者(比如说 root)才能设定系统时间。

关于时区
***********************************************************
查看当前时区:

[root@rekfan.com /]# date -R
Fri, 31 Aug 2012 14:01:41 +0800

修改设置Linux服务器时区
方法 A
[root@rekfan.com /]# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#?

方法 B 仅限于RedHat Linux 和 CentOS
命令 : "timeconfig"
方法 C 适用于Debian
命令 : "dpkg-reconfigure tzdata"

3. 复制相应的时区文件,替换系统时区文件;或者创建链接文件
[root@rekfan.com /]# cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime

例如:在设置中国时区使用亚洲/上海(+8)

[root@rekfan.com /]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

***********************************************************

二、关于hwclock

查看硬件时间
[root@rekfan.com /]#  hwclock
设置硬件时间
[root@rekfan.com /]#  hwclock -set -date="07/07/06 10:19" (月/日/年 时:分:秒)

硬件时间和系统时间的同步

按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock命令实现同步。 hwclock -w 来将系统时间写入 CMOS 中,这样下次重新开机时系统时间才会持续抱持最新的正确值。

 硬件时钟与系统时钟同步:
[root@rekfan.com /]# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)

 系统时钟和硬件时钟同步:(让系统的时间同步到硬件时钟)
[root@rekfan.com /]# hwclock --systohc

注:

不加参数可以直接看到当前日期时间
[root@rekfan.com /]# date

不加参数可以直接看到本月月历
[root@rekfan.com /]# cal
八月 2012
日 一 二 三 四 五 六
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

转载请注明:|REKFAN|系统运维| » Linux学习笔记_查看&修改Linux当前日期和时间

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 测试下!

    rekfan2012-10-09 00:35 回复