命令简介:

date 根据给定格式显示日期或设置系统日期时间。print or set the system date and time

指令所在路径:/bin/date

命令语法:

date [OPTION]... [+FORMAT]

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

命令参数:

参数

描述

-d

显示字符串描述的时间

-f

显示DATEFILE文件中的每行时间

-r

显示文件的最后修改时间

-R

以RFC-2822兼容日期格式显示时间

-rfc-2822

以RFC-2822兼容日期格式显示时间

-s

设置时间为string

-u

显示或设定为Coordinated Universal Time时间格式

--help

显示date命令的帮助信息

--version

显示date命令的版本信息

Format参数格式

要说写这位程序的 David MacKenzie老兄,真是事无巨细啊,居然整了这么多格式参数,佩服佩服。

参数

描述

%%

显示字符%

%a

星期几的缩写(Sun..Sat)

%A

星期几的完整名称(Sunday...Saturday)

%b

月份的缩写(Jan..Dec)

%B

月份的完整名称(January..December)

%c

日期与时间。只输入date指令也会显示同样的结果

%C

世纪(年份除100后去整) [00-99]

%d

日期(以01-31来表示)。

%D

日期(含年月日)。

%e

一个月的第几天 ( 1..31)

%F

日期,同%Y-%m-%d

%g

年份(yy)

%G

年份(yyyy)

%h

同%b

%H

小时(00..23)

%I

小时(01..12)

%j

一年的第几天(001..366)

%k

小时( 0..23)

%l

小时( 1..12)

%m

月份(01..12)

%M

分钟(00..59)

%n

换行

%N

纳秒(000000000..999999999)

%p

AM or PM

%P

am or pm

%r

12小时制时间(hh:mm:ss [AP]M)

%R

24小时制时间(hh:mm)

%s

从00:00:00 1970-01-01 UTC开始的秒数

%S

秒(00..60)

%t

制表符

%T

24小时制时间(hh:mm:ss)

%u

一周的第几天(1..7); 1 表示星期一

%U

一年的第几周,周日为每周的第一天(00..53)

%V

一年的第几周,周一为每周的第一天 (01..53)

%w

一周的第几天 (0..6); 0 代表周日

%W

一年的第几周,周一为每周的第一天(00..53)

%x

日期(mm/dd/yy)

%X

时间(%H:%M:%S)

%y

年份(00..99)

%Y

年份 (1970…)

%z

RFC-2822 风格数字格式时区(-0500)

%Z

时区(e.g., EDT), 无法确定时区则为空

   

使用示例:

1: 查看date命令帮助信息

 [root@Gin scripts]# date --help
Usage: date [OPTION]... [+FORMAT]
or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date. -d, --date=STRING display time described by STRING, not `now'
-f, --file=DATEFILE like --date once for each line of DATEFILE
-r, --reference=FILE display the last modification time of FILE
-R, --rfc- output date and time in RFC format.
Example: Mon, Aug :: -
--rfc-=TIMESPEC output date and time in RFC format.
TIMESPEC=`date', `seconds', or `ns' for
date and time to the indicated precision.
Date and time components are separated by
a single space: -- ::-:
-s, --set=STRING set time described by STRING
-u, --utc, --universal print or set Coordinated Universal Time
--help display this help and exit
--version output version information and exit FORMAT controls the output. Interpreted sequences are: %% a literal %
%a locale's abbreviated weekday name (e.g., Sun)
%A locale's full weekday name (e.g., Sunday)
%b locale's abbreviated month name (e.g., Jan)
%B locale's full month name (e.g., January)
%c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)
%C century; like %Y, except omit last two digits (e.g., )
%d day of month (e.g, )
%D date; same as %m/%d/%y
%e day of month, space padded; same as %_d
%F full date; same as %Y-%m-%d
%g last two digits of year of ISO week number (see %G)
%G year of ISO week number (see %V); normally useful only with %V
%h same as %b
%H hour (..)
%I hour (..)
%j day of year (..)
%k hour ( ..)
%l hour ( ..)
%m month (..)
%M minute (..)
%n a newline
%N nanoseconds (..)
%p locale's equivalent of either AM or PM; blank if not known
%P like %p, but lower case
%r locale's 12-hour clock time (e.g., 11:11:04 PM)
%R -hour hour and minute; same as %H:%M
%s seconds since -- :: UTC
%S second (..)
%t a tab
%T time; same as %H:%M:%S
%u day of week (..); is Monday
%U week number of year, with Sunday as first day of week (..)
%V ISO week number, with Monday as first day of week (..)
%w day of week (..); is Sunday
%W week number of year, with Monday as first day of week (..)
%x locale's date representation (e.g., 12/31/99)
%X locale's time representation (e.g., 23:13:48)
%y last two digits of year (..)
%Y year
%z +hhmm numeric timezone (e.g., -)
%:z +hh:mm numeric timezone (e.g., -:)
%::z +hh:mm:ss numeric time zone (e.g., -::)
%:::z numeric time zone with : to necessary precision (e.g., -, +:)
%Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes.
The following optional flags may follow `%': - (hyphen) do not pad the field
_ (underscore) pad with spaces
(zero) pad with zeros
^ use upper case if possible
# use opposite case if possible After any flags comes an optional field width, as a decimal number;
then an optional modifier, which is either
E to use the locale's alternate representations if available, or
O to use the locale's alternate numeric symbols if available. Report date bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
For complete documentation, run: info coreutils 'date invocation'

date --help

 [root@Gin scripts]# man date
DATE() User Commands DATE() NAME
date - print or set the system date and time SYNOPSIS
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] DESCRIPTION
Display the current time in the given FORMAT, or set the system
:
DATE() User Commands DATE() NAME
date - print or set the system date and time SYNOPSIS
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] DESCRIPTION
Display the current time in the given FORMAT, or set the system
date. -d, --date=STRING
display time described by STRING, not ‘now’ -f, --file=DATEFILE
like --date once for each line of DATEFILE -r, --reference=FILE
display the last modification time of FILE -R, --rfc-
output date and time in RFC format. Example: Mon,
Aug :: - --rfc-=TIMESPEC
output date and time in RFC format. TIME-
SPEC=‘date’, ‘seconds’, or ‘ns’ for date and time to the
indicated precision. Date and time components are sepa-
rated by a single space: -- ::-: -s, --set=STRING
set time described by STRING -u, --utc, --universal
print or set Coordinated Universal Time --help display this help and exit --version
output version information and exit FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale’s abbreviated weekday name (e.g., Sun) %A locale’s full weekday name (e.g., Sunday) %b locale’s abbreviated month name (e.g., Jan) %B locale’s full month name (e.g., January) %c locale’s date and time (e.g., Thu Mar :: ) %C century; like %Y, except omit last two digits (e.g., ) %d day of month (e.g, ) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only
with %V %h same as %b %H hour (..) %I hour (..) %j day of year (..) %k hour ( ..) %l hour ( ..) %m month (..) %M minute (..) %n a newline %N nanoseconds (..) %p locale’s equivalent of either AM or PM; blank if not
known %P like %p, but lower case %r locale’s -hour clock time (e.g., :: PM) %R -hour hour and minute; same as %H:%M %s seconds since -- :: UTC %S second (..) %t a tab %T time; same as %H:%M:%S %u day of week (..); is Monday %U week number of year, with Sunday as first day of week
(..) %V ISO week number, with Monday as first day of week
(..) %w day of week (..); is Sunday %W week number of year, with Monday as first day of week
(..) %x locale’s date representation (e.g., //) %X locale’s time representation (e.g., ::) %y last two digits of year (..) %Y year %z +hhmm numeric timezone (e.g., -) %:z +hh:mm numeric timezone (e.g., -:) %::z +hh:mm:ss numeric time zone (e.g., -::) %:::z numeric time zone with : to necessary precision (e.g.,
-, +:) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. The following
optional flags may follow ‘%’: - (hyphen) do not pad the field _ (underscore) pad with spaces (zero) pad with zeros ^ use upper case if possible # use opposite case if possible After any flags comes an optional field width, as a decimal num-
ber; then an optional modifier, which is either E to use the
locale’s alternate representations if available, or O to use the
locale’s alternate numeric symbols if available. DATE STRING
The --date=STRING is a mostly free format human readable date
string such as "Sun, 29 Feb 2004 16:21:42 -0800" or "2004-02-29
::" or even "next Thursday". A date string may contain
items indicating calendar date, time of day, time zone, day of
week, relative time, relative date, and numbers. An empty
string indicates the beginning of the day. The date string for-
mat is more complex than is easily documented here but is fully
described in the info documentation. ENVIRONMENT
TZ Specifies the timezone, unless overridden by command line
parameters. If neither is specified, the setting from
/etc/localtime is used. AUTHOR
Written by David MacKenzie. REPORTING BUGS
Report date bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/core-
utils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report date translation bugs to <http://translationpro-
ject.org/team/> COPYRIGHT
Copyright © Free Software Foundation, Inc. License GPLv3+:
GNU GPL version or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute
it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO
The full documentation for date is maintained as a Texinfo man-
ual. If the info and date programs are properly installed at
your site, the command info coreutils 'date invocation' should give you access to the complete manual. GNU coreutils 8.4 October DATE()
(END)

man date

2:运用-d参数

[root@Gin scripts]# date
Sun Jan 29 10:46:03 CST 2017
[root@Gin scripts]# date -d now
Sun Jan 29 10:46:07 CST 2017
[root@Gin scripts]# date -d 'next monday'
Mon Jan 30 00:00:00 CST 2017
[root@Gin scripts]# date -d yesterday +%Y%m%d
20170128

3:显示文件中的时间

[root@Gin scripts]# cat >date.txt
2013-11-17 10:54:00
2013-11-22 11:11:11 [root@Gin scripts]# more date.txt
2013-11-17 10:54:00
2013-11-22 11:11:11 [root@Gin scripts]# date -f date.txt
Sun Nov 17 10:54:00 CST 2013
Fri Nov 22 11:11:11 CST 2013

4:显示文件最后修改的时间

[root@Gin scripts]# date -r date.txt
Sun Jan 29 10:49:11 CST 2017

5:按各种格式显示当前日期时间

这个命令的格式参数实在是太多了,在此没有必要每一个参数都尝试一遍,大家可以对照Format参数表,自己敲一敲命令实践一下。

[root@Gin scripts]# date +%Y
2017
[root@Gin scripts]# date +%m
01
[root@Gin scripts]# date +%D
01/29/17
[root@Gin scripts]# date '+%Y-%m-%d'
2017-01-29
[root@Gin scripts]# date +%Y-%m-%d
2017-01-29
[root@Gin scripts]# date +%m/%d/%y
01/29/17

6: 设置系统时间

[root@Gin scripts]# date -s "2016-11-11 00:00:00"
Fri Nov 11 00:00:00 CST 2016
[root@Gin scripts]# date
Fri Nov 11 00:00:05 CST 2016

7:请给出如下格式的date命令,如:11-02-26。再给出实现按周输出,如:周六为6,请分别给出命令

[root@Gin scripts]# date +%y-%m-%d
17-01-29
[root@Gin scripts]# date +%F
2017-01-29
[root@Gin scripts]# date "+%Y-%m-%d %H:%M:%S"
2017-01-29 10:57:02

生产场景中常用时间格式来打包数据:

[root@Andy andy]# tar zcvf etc-$(date +%F).tar.gz /etc
[root@Andy andy]# tar zcvf etc-`date +%F`.tar.gz /etc

解析命令方法:反引号,或$(),如上

[root@Andy andy]# date +%w  ##显示周,0-6
3
显示过去与未来时间:
[root@Andy andy]# date +%F
2016-11-16
[root@Andy andy]# date +%F -d "-1day"
2016-11-15
[root@Andy andy]# date +%F -d "+2day"
2016-11-18
[root@Andy andy]# date +%F -d "+24hour"
2016-11-17
[root@Andy andy]# date +%F-%H -d "+2hour"
2016-11-16-14

linux命令总结之date命令的更多相关文章

  1. linux修改系统时间date命令加clock -w

    http://m.jb51.net/LINUXjishu/117784.html 修改linux系统时间的方法(date命令) 11-18 23:22:27作者:脚本之家 命令格式为: date -s ...

  2. shell脚本删除N天前的目录-----附linux和mac上date命令的不同

    背景: 每日构建的东西.按日期放到不同的目录里. 现在天的构建放到2015-06-01里,明天的就放到2015-06-02里,依次类推.时间久了.须要一个脚本删除N天前的目录.(本例中N=7.即删除一 ...

  3. 每天一个linux命令(37):date命令

    在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便. 1.命令格式: date [参数 ...

  4. Linux下date命令,格式化输出,时间设置

    date命令的帮助信息 [root@localhost source]# date --help用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] ...

  5. linux系统date命令详解

    Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟.系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟, ...

  6. Linux date命令的用法

    在linux shell编程中,经常用到日期的加减运算以前都是自己通过expr函数计算,很麻烦.其实date命令本身提供了日期的加减运算非常方便. 例如:得到昨天的时间date  --date=&qu ...

  7. Linux命令学习-date

    date命令可以用来显示和修改系统日期时间,注意不是time命令. 1.在命令行输入date显示当前时间 [root@vm4 logs]# dateSat Nov 22 00:00:02 CST 20 ...

  8. 每天一个linux命令(29):date命令

    在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便. 1.命令格式: date [参数 ...

  9. 修改linux系统时间的方法(date命令)

    修改linux系统时间的方法(date命令) 来源:互联网 作者:佚名 时间:11-18 23:22:27 [大 中 小] date命令不仅可以显示系统当前时间,还可以用它来修改系统时间,下面简单的介 ...

随机推荐

  1. Scrum立会报告+燃尽图(Final阶段第六次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2485 项目地址:https://coding.net/u/wuyy694 ...

  2. python下graphviz安装

    参考链接:https://blog.csdn.net/u013250416/article/details/72790754 1.安装Graphviz 在graphviz的官网(网址:http://w ...

  3. PSP Daily软件beta版本——基于NABCD评论,及改进建议

    1.根据(不限于)NABCD评论作品的选题: 此软件的用户人群较为明确,即:用户(软件工程课上学生)记录例行报告.写每周PSP表格和统计的需求.潜在用户还有未来该课堂的学生和需要用PSP方法记录任务完 ...

  4. Notes of Daily Scrum Meeting(11.4)

    Notes of Daily Scrum Meeting 2014年11月4日  星期二  20:30—21:00 团队成员 今日团队任务 当日工作分配额 完成情况 陈少杰 阅读理解代码中底层与数据库 ...

  5. Javascript实现大整数加法

    记得之前面试还被问到过用两个字符串实现两个大整数相加,当时还特别好奇好好的整数相加,为什么要用字符串去执行.哈哈,感觉当时自己还是很无知的,面试官肯定特别的无奈.今天在刷算法的时候,无意中看到了为什么 ...

  6. wdatepicker控件de使用小方法汇总

    在总结wdatepicker控件的使用前,先插播一条吧,下午刚心血来潮百度的一条 问?C#中Int16.Int32.Int64.之间的区别,:::嘿嘿其实百度知道就有,但还是写上吧! Int16 表示 ...

  7. Teamwork(The fourth day of the team)

    在这天我们已经开始去做自己手上的的任务.由于我们都忙于手头上的工作,所以这天我们就没有过多的交流,有的可能就是网上说一下实现到了哪里.

  8. 福州大学软工1816 K 班助教总结

    春节时期总有各种诱惑因素(例如路人超能第二季),拖到现在才发布十分抱歉orz. 一.感谢 首先对柯老师和软工助教指导团队这一学期以来的支持和指导表示感谢.第一次做助教,有时候会提出一些不大成熟的想法, ...

  9. contos7忘记root密码怎么办

    首先在这个界面按"e"键 然后呢就会进入到如下图所示的界面,在LANG=zh_CN.UTF8的后面加上 init=/bin/sh, 再按 [ Ctrl + X ] 进入'单用户模式 ...

  10. [2017BUAA软工]个人项目心得体会:数独

    心得体会 回顾此次个人项目,感受比较复杂,最明显的一点是--累!代码编写.单元测试.代码覆盖.性能优化,环环相扣,有种从作业发布开始就一直在赶DDL的感觉,但是很充实,也学习到和体验了很多东西.最令人 ...