Linux 下日期显示和设置命令 date & hwclock 小结
---
1.1.1 设 置系统日期和时间
可以使用下列 命令修改系统时间:
# date {mmddhhmiyyyy.ss}
mm--代 表月份
dd--代 表日期
hh--代 表 24 小时制的小时
mi--代 表分钟
yyyy--代 表年
ss--代 表秒
例如, 将 系统日期设置为 2008 年 01 月 31 日, 下午 10:19:53
# date 013122192009.53
也可以按照下 面的办法来设置:
# date +%Y%m%d -s "20090131"
# date 013122192009.53
# date +%Y%m%d -s "20090131"
# date -s "01/31/2009 22:19:53"
# date -s "31 JAN 2009 22:19:53"
# date set="31 JAN 2009 22:19:53"
如果只设置时 间:
# date +%T -s "22:19:53"
# date +%T%p -s "10:19:53PM"
+++
1.1.2 设 置硬件日期和时间(hwclock)
在设置系统日 期和时间之前, 先要确定操作系统时间已经被设置恰当.
设置硬件时间 要依赖于操作系统时间, 具体方法如下:
# hwclock –systohc
# hwclock --systohc --utc
不加任何参数 使用 hwclock, 可以查看当前的硬件日期和时间.
# hwclock
查 看 clock 文件, 确认是否设置了 UTC(译者注:协调世界时):
#cat /etc/default/rcS
UTC=yes
在其他一些版 本的 Linux(如 RedHat)中 可以这样查看:
# cat /etc/sysconfig/clock
ZONE="America/Los_Angeles"
UTC=false
ARC=false
+++
1.1.3 用特 定格式显示当前时间
以下的方法可 以用各种不同的格式来显示当前时间:
$ date
Thu Jan 1 08:19:23 PST 2009
$ date --date="now"
Thu Jan 1 08:20:05 PST 2009
$ date --date="today"
Thu Jan 1 08:20:12 PST 2009
$ date --date='1970-01-01 00:00:01 UTC +5 hours' +%s
18001
$ date '+Current Date: %m/%d/%y%nCurrent Time:%H:%M:%S'
Current Date: 01/01/09
Current Time:08:21:41
$ date +"%d-%m-%Y"
01-01-2009
$ date +"%d/%m/%Y"
01/01/2009
$ date +"%A,%B %d %Y"
Thursday,January 01 2009
***
以下 是 date 命令的不同的格式选项, 各选项所代表含义如下:
%D 日期 (月/日/年)
%d 一个月 中的第几天 (01..31)
%m 月 份 (01..12)
%y 年份的 后两位 (00..99)
%a 当前语 言下星期的缩写 (Sun..Sat)
%A 当前语 言下星期的全拼 (Sunday..Saturday)
%b 当前语 言下月份的缩写 (Jan..Dec)
%B 当前语 言下的月份的全称 (January..December)
%H 24 小 时制小时 (00..23)
%I 12 小 时制小时 (01..12)
%Y 年份 (1970…)
+++
1.1.4 显 示过去的日期和时间
如下方法可以 用来显示过去的日期和时间:
$ date --date='3 seconds ago'
Thu Jan 1 08:27:00 PST 2009
$ date --date="1 day ago"
Wed Dec 31 08:27:13 PST 2008
$ date --date="1 days ago"
Wed Dec 31 08:27:18 PST 2008
$ date --date="1 month ago"
Mon Dec 1 08:27:23 PST 2008
$ date --date="1 year ago"
Tue Jan 1 08:27:28 PST 2008
$ date --date="yesterday"
Wed Dec 31 08:27:34 PST 2008
$ date --date="10 months 2 day ago"
Thu Feb 28 08:27:41 PST 2008
+ ++
1.1.5 显 示未来的日期和时间
如下的方法可 以用来展示未来的日期和时间:
$ date
Thu Jan 1 08:30:07 PST 2009
$ date --date='3 seconds'
Thu Jan 1 08:30:12 PST 2009
$ date --date='4 hours'
Thu Jan 1 12:30:17 PST 2009
$ date --date='tomorrow'
Fri Jan 2 08:30:25 PST 2009
$ date --date="1 day"
Fri Jan 2 08:30:31 PST 2009
$ date --date="1 days"
Fri Jan 2 08:30:38 PST 2009
$ date --date="2 days"
Sat Jan 3 08:30:43 PST 2009
$ date --date='1 month'
Sun Feb 1 08:30:48 PST 2009
$ date --date='1 week'
Thu Jan 8 08:30:53 PST 2009
$ date --date="2 months"
Sun Mar 1 08:30:58 PST 2009
$ date --date="2 years"
Sat Jan 1 08:31:03 PST 2011
$ date --date="next day"
Fri Jan 2 08:31:10 PST 2009
$ date --date="-1 days ago"
Fri Jan 2 08:31:15 PST 2009
$ date --date="this Wednesday"
Wed Jan 7 00:00:00 PST 2009
+++
[tao@localhost test]$ echo $`date +%Y%m%d_%H%M%S`
$20100504_160303
[tao@localhost test]$ echo `date +%Y%m%d_%H%M%S`
20100504_160317
[tao@localhost test]$ echo `date +%y%m%d_%H%M%S`
100504_160342
[tao@localhost test]$ echo `date +%y%m%d_%h%m%s`
100504_ 5月051272960233
[tao@localhost test]$ echo `date +%y%m%d_%H%M%s`
100504_16041272960287
[tao@localhost test]$ echo `date +%y%m%d_%H%M%S`
100504_160453
[tao@localhost test]$ echo `date +%Y%M%D_%H%M%S`
20100505/04/10_160507
[tao@localhost test]$ echo `date +%Y%y%d_%H%M%S`
20101004_160518
[tao@localhost test]$