一天一个linux基础命令之时间日期命令date

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一天一个linux基础命令之时间日期命令date相关的知识,希望对你有一定的参考价值。

时间日期命令:date

1、命令格式:     

date [OPTION]... [+FORMAT]
       date [-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]]

2、命令功能

       打印不同格式的时间或日期,以及要根据时间和日期执行操作。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC197011000秒起流逝的秒数。

3、常用选项

       -d "String" 显示字符串所指的时间。字符串前后必须加上双引号"",也可以用做转换时间显示格式

         -s "String" 根据字符串来设置时间,字符串前后必须加上双引号

       -u 显示世界时间

日期格式     

%Y:显示四位的年份(2016)
       %y:显示两位的年份(16)
       %m:月份
       %d:天数
       %H:小时  24小时制
       %M:分钟 
       %S:秒钟
       %T:时间,冒号分隔的时间(12:12:01)
       %X|%r:时间,冒号分隔的时间(10:58:02 AM)[%T %p]
       %D:日期,以斜线隔开的日期(12/27/16)
       %x:日期,以斜线隔开的日期(12/27/2016)
       %F:日期:以横杠隔开的日期(2016-12-27)
 
       %p:显示出AM或PM
       unix元年:1970-01-0100:00:00
       %s:距离unix元年到现在经历的秒数
       %j:一年的第几天(001~366) 
       %w:一个星期的第几天(0代表星期天) 
       %W:一年的第几个星期
       %Z 显示时区,日期域(CST) 
       %a 星期的简称(Sun~Sat) 
       %A 星期的全称(Sunday~Saturday) 
       %h,%b 月的简称(Jan~Dec) 
       %B 月的全称(January~December)


4、使用实例

1、显示当前时间

命令:date

[[email protected]~]# date
TueDec 27 11:06:57 CST 2016

2、设置指定时间

命令:date [MMDDhhmm[[CC]YY][.ss]]

[[email protected]~]# date 122711302016
TueDec 27 11:30:00 CST 2016
[[email protected]~]# date
TueDec 27 11:30:05 CST 2016
[[email protected]~]#

提示:MM:月份

       DD:天

       hh:小时

       mm:分钟

       [CC[YY]]:两位的年,或者四位的年

       .ss:秒钟

如果不指,则按照当前时间设置

3、以指定的格式显示时间

命令:date +FORMAT

[[email protected]~]# date +%T
11:10:59
[[email protected]~]# date +%H-%M-%S
11-11-23
[[email protected]~]# date +%F
2016-12-27
[[email protected]~]# date "+%F %H-%M-%S"
2016-12-2711-11-48
[[email protected]~]# date "+%F %T"
2016-12-2711:12:00
[[email protected]~]#

提示:显示指定格式时间时:如果中间有空格,需在显示时间的格式上加入双引号

4、创建以当前时间为名称的目录

命令:mkdir `COMMAND`

[[email protected]~]# mkdir `date +%F-%H-%M-%S`
[[email protected]~]# ls 
2016-12-27-11-15-05  install.log       anaconda-ks.cfg        install.log.syslog  
[[email protected] ~]#

提示:此时我们用到了命令引用``

       命令引用:引用的是命令的执行结果

       date +%F-%H-%M-%S执行结果为2016-12-27-11-15-05,创建时,就直接创建以当前时间为名称的目录

5、输出昨天现在的时间

命令:date -d "1 day ago"

[[email protected]~]# date -d "1 day ago" 
MonDec 26 11:22:50 CST 2016
[[email protected]~]#

提示:也可以使用 date -d "+ 1 day"

date-d "+1 day" +%Y%m%d //显示前一天的日期

date-d "-1 day" +%Y%m%d //显示后一天的日期

date-d "-1 month" +%Y%m%d //显示上一月的日期

date-d "+1 month" +%Y%m%d //显示下一月的日期

date-d "-1 year" +%Y%m%d //显示前一年的日期

date-d "+1 year" +%Y%m%d //显示下一年的日期

常用的日期英文格式都可以来进行使用

6、显示30秒后的时间

命令:date -d "30 second" +%T

[[email protected]~]# date +%T
11:24:50
[[email protected]~]# date -d "30 second" +%T
11:25:21

7、将指定的时间转换显示的格式

命令:date -d "TIME" +FORMAT

[[email protected]~]# date -d "2012-12-12"" +%Y/%m/%d %H:%M.%S"
2012/12/1200:00.00
[[email protected]~]# date
TueDec 27 11:26:14 CST 2016
[[email protected]~]#

提示:转换时间格式时,不影响当前时间

8、转换apache日志时间格式

命令:date -d "TIME" +FORMAT

[[email protected]~]# date -d "Dec 5, 2016 12:12:31 AM" +"%Y-%m-%d %H:%M.%S"
2016-12-05 00:12.31
[[email protected]~]#
[[email protected]~]# date -d "Dec 5, 2016 12:12:31" +"%Y-%m-%d %H:%M.%S"
2016-12-05 12:12.31
[[email protected]~]#

9、设置时间

命令:date -s "String"

[[email protected]~]# date -s "20161227 12:23:00" //设置全时间
Tue Dec27 12:23:00 CST 2016
[[email protected]~]# date -s "2016/12/27 12:23:00" //设置全时间
Tue Dec27 12:23:00 CST 2016
[[email protected]~]# date -s "2016-12-27 12:23:00" //设置全时间
Tue Dec27 12:23:00 CST 2016
[[email protected]~]# date -s "20161227"//设置成20161227,不过会把具体时间设置成00:00:00
Tue Dec27 00:00:00 CST 2016
[[email protected]~]# date -s "12:25:00" //设置具体时间,不会对日期做出修改
Tue Dec27 12:25:00 CST 2016
[[email protected]~]#

硬件时钟命令:hwclock [options]

常用选项

                     -s:以硬件时钟为准,将系统时间修改成硬件时间--hctosys

                     -w:以软件时钟为准,将硬件时间修改成系统时间--systohc

[[email protected]~]# hwclock
Tue 27Dec 2016 12:02:21 PM CST  -1.016560seconds
[[email protected]~]# date
Tue Dec27 12:04:17 CST 2016
[[email protected]~]# hwclock -s
[[email protected]~]# date
Tue Dec27 12:02:32 CST 2016

显示日历 cal

cal[-smjy13] [[[day] month] year] 月历

常用选项:

       -3:显示前三月份

       -m:显示时以mon(星期一)打头

       -j:显示当前月份在本年的第几天

       -y:显示整年


本文出自 “linux菜鸟” 博客,请务必保留此出处http://geekb0y.blog.51cto.com/10743719/1886474

以上是关于一天一个linux基础命令之时间日期命令date的主要内容,如果未能解决你的问题,请参考以下文章

linux基础命令之命令帮助

Python基础之Linux基础:系统信息相关命令

Linux之简单命令之日期时间命令之date,cal,clock ,hwclock和tzselect

linux基础之基本命令

linux基本功之date命令实战

一天一个Linux基础命令之关机命令shutdown