您的位置:首页 > 运维架构 > Linux

【Linux常用命令】时间命令

2015-08-26 22:37 519 查看

date命令

date命令是显示或设置系统时间与日期。很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。

语法

date(选项)(参数)

选项

-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;

-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;

-u:显示GMT;

--help:在线帮助;

--version:显示版本信息。

参数

<+时间日期格式>:指定显示时使用的日期时间格式。

日期格式字符串列表

%H 小时,24小时制(00~23)

%I 小时,12小时制(01~12)

%k 小时,24小时制(0~23)

%l 小时,12小时制(1~12)

%M 分钟(00~59)

%p 显示出AM或PM

%r 显示时间,12小时制(hh:mm:ss %p)

%s 从1970年1月1日00:00:00到目前经历的秒数

%S 显示秒(00~59)

%T 显示时间,24小时制(hh:mm:ss)

%X 显示时间的格式(%H:%M:%S)

%Z 显示时区,日期域(CST)

%a 星期的简称(Sun~Sat)

%A 星期的全称(Sunday~Saturday)

%h,%b 月的简称(Jan~Dec)

%B 月的全称(January~December)

%c 日期和时间(Tue Nov 20 14:12:58 2012)

%d 一个月的第几天(01~31)

%x,%D 日期(mm/dd/yy)

%j 一年的第几天(001~366)

%m 月份(01~12)

%w 一个星期的第几天(0代表星期天)

%W 一年的第几个星期(00~53,星期一为第一天)

%y 年的最后两个数字(1999则是99)

实例

格式化输出:
date +"%Y-%m-%d"

2009-12-07

输出昨天日期:
date -d "1 day ago" +"%Y-%m-%d"

2012-11-19

传说中的 1234567890 秒:
date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S"

2009-02-13 23:02:30

普通转格式:
date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"

2009/12/12 00:00.00

设定时间:
date -s                        //设置当前时间,只有root权限才能设置,其他只能查看

date -s 20120523               //设置成20120523,这样会把具体时间设置成空00:00:00

date -s 01:01:01               //设置具体时间,不会对日期做更改

date -s "01:01:01 2012-05-23"  //这样可以设置全部时间

date -s "01:01:01 20120523"    //这样可以设置全部时间

date -s "2012-05-23 01:01:01"  //这样可以设置全部时间

date -s "20120523 01:01:01"    //这样可以设置全部时间

hwclock命令

hwclock命令是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。

语法

hwclock(选项)

选项

--adjust:hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用--adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟;

--debug:显示hwclock执行时详细的信息;

--directisa:hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟;

--hctosys:将系统时钟调整为与目前的硬件时钟一致;

--set --date=<日期与时间>:设定硬件时钟;

--show:显示硬件时钟的时间与日期;

--systohc:将硬件时钟调整为与目前的系统时钟一致;

--test:仅测试程序,而不会实际更改硬件时钟;

--utc:若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作;

--version:显示版本信息。

实例

设置硬件时间要依赖于操作系统时间,具体方法如下:
hwclock systohc

hwclock --systohc -utc

不加任何参数使用hwclock,可以查看当前的硬件日期和时间。
hwclock

查看clock文件,确认是否设置了UTC:
cat
/etc/default/rcS

UTC=yes

在其他一些版本的Linux(如RebHat)中可以这样查看:
cat /etc/sysconfig/clock

ZONE="America/Los_Angeles"

UTC=false

ARC=false

cal命令

cal命令用于显示当前日历,或者指定日期的日历。

语法

cal(选项)(参数)

选项

-l:显示单月输出;

-3:显示临近三个月的日历;

-s:将星期日作为月的第一天;

-m:将星期一作为月的第一天;

-j:显示"julian"日期;

-y:显示当前年的日历。

参数

月:指定月份;

年:指定年份。

实例

单独执行cal命令会打印出日历:
[root@localhost ~]# cal

十二月 2013

日 一 二 三 四 五 六

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: