zoukankan      html  css  js  c++  java
  • Linux命令学习总结:date命令【转】

    本文转自:http://www.cnblogs.com/kerrycode/p/3427617.html

    命令简介:

    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命令帮助信息

       1: [root@DB-Server ~]# date --help
       2:  
       3: Usage: date [OPTION]... [+FORMAT]
       4:  
       5: or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
       6:  
       7: Display the current time in the given FORMAT, or set the system date.
       8:  
       9: -d, --date=STRING display time described by STRING, not `now'
      10:  
      11: -f, --file=DATEFILE like --date once for each line of DATEFILE
      12:  
      13: -r, --reference=FILE display the last modification time of FILE
      14:  
      15: -R, --rfc-2822 output date and time in RFC 2822 format
      16:  
      17: --rfc-3339=TIMESPEC output date and time in RFC 3339 format.
      18:  
      19: TIMESPEC=`date', `seconds', or `ns' for
      20:  
      21: date and time to the indicated precision.
      22:  
      23: -s, --set=STRING set time described by STRING
      24:  
      25: -u, --utc, --universal print or set Coordinated Universal Time
      26:  
      27: --help display this help and exit
      28:  
      29: --version output version information and exit
      30:  
      31: FORMAT controls the output. The only valid option for the second form
      32:  
      33: specifies Coordinated Universal Time. Interpreted sequences are:
      34:  
      35: %% a literal %
      36:  
      37: %a locale's abbreviated weekday name (e.g., Sun)
      38:  
      39: %A locale's full weekday name (e.g., Sunday)
      40:  
      41: %b locale's abbreviated month name (e.g., Jan)
      42:  
      43: %B locale's full month name (e.g., January)
      44:  
      45: %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)
      46:  
      47: %C century; like %Y, except omit last two digits (e.g., 21)
      48:  
      49: %d day of month (e.g, 01)
      50:  
      51: %D date; same as %m/%d/%y
      52:  
      53: %e day of month, space padded; same as %_d
      54:  
      55: %F full date; same as %Y-%m-%d
      56:  
      57: %g last two digits of year of ISO week number (see %G)
      58:  
      59: %G year of ISO week number (see %V); normally useful only with %V
      60:  
      61: %h same as %b
      62:  
      63: %H hour (00..23)
      64:  
      65: %I hour (01..12)
      66:  
      67: %j day of year (001..366)
      68:  
      69: %k hour ( 0..23)
      70:  
      71: %l hour ( 1..12)
      72:  
      73: %m month (01..12)
      74:  
      75: %M minute (00..59)
      76:  
      77: %n a newline
      78:  
      79: %N nanoseconds (000000000..999999999)
      80:  
      81: %p locale's equivalent of either AM or PM; blank if not known
      82:  
      83: %P like %p, but lower case
      84:  
      85: %r locale's 12-hour clock time (e.g., 11:11:04 PM)
      86:  
      87: %R 24-hour hour and minute; same as %H:%M
      88:  
      89: %s seconds since 1970-01-01 00:00:00 UTC
      90:  
      91: %S second (00..60)
      92:  
      93: %t a tab
      94:  
      95: %T time; same as %H:%M:%S
      96:  
      97: %u day of week (1..7); 1 is Monday
      98:  
      99: %U week number of year, with Sunday as first day of week (00..53)
     100:  
     101: %V ISO week number, with Monday as first day of week (01..53)
     102:  
     103: %w day of week (0..6); 0 is Sunday
     104:  
     105: %W week number of year, with Monday as first day of week (00..53)
     106:  
     107: %x locale's date representation (e.g., 12/31/99)
     108:  
     109: %X locale's time representation (e.g., 23:13:48)
     110:  
     111: %y last two digits of year (00..99)
     112:  
     113: %Y year
     114:  
     115: %z +hhmm numeric timezone (e.g., -0400)
     116:  
     117: %:z +hh:mm numeric timezone (e.g., -04:00)
     118:  
     119: %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)
     120:  
     121: %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30)
     122:  
     123: %Z alphabetic time zone abbreviation (e.g., EDT)
     124:  
     125: By default, date pads numeric fields with zeroes.
     126:  
     127: The following optional flags may follow `%':
     128:  
     129: - (hyphen) do not pad the field
     130:  
     131: _ (underscore) pad with spaces
     132:  
     133: 0 (zero) pad with zeros
     134:  
     135: ^ use upper case if possible
     136:  
     137: # use opposite case if possible
     138:  
     139: After any flags comes an optional field width, as a decimal number;
     140:  
     141: then an optional modifier, which is either
     142:  
     143: E to use the locale's alternate representations if available, or
     144:  
     145: O to use the locale's alternate numeric symbols if available.
     146:  
     147: Report bugs to <bug-coreutils@gnu.org>.
     148:  
       1: [root@DB-Server ~]# man date
       2:  
       3: DATE(1) User Commands DATE(1)
       4:  
       5: NAME
       6:  
       7: date - print or set the system date and time
       8:  
       9: SYNOPSIS
      10:  
      11: date [OPTION]... [+FORMAT]
      12:  
      13: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
      14:  
      15: DESCRIPTION
      16:  
      17: Display the current time in the given FORMAT, or set the system date.
      18:  
      19: -d, --date=STRING
      20:  
      21: display time described by STRING, not ‘now’
      22:  
      23: -f, --file=DATEFILE
      24:  
      25: like --date once for each line of DATEFILE
      26:  
      27: -r, --reference=FILE
      28:  
      29: display the last modification time of FILE
      30:  
      31: -R, --rfc-2822
      32:  
      33: output date and time in RFC 2822 format
      34:  
      35: --rfc-3339=TIMESPEC
      36:  
      37: output date and time in RFC 3339 format. TIMESPEC=‘date’, ‘seconds’, or ‘ns’ for date and time to the indicated precision.
      38:  
      39: -s, --set=STRING
      40:  
      41: set time described by STRING
      42:  
      43: -u, --utc, --universal
      44:  
      45: print or set Coordinated Universal Time
      46:  
      47: --help display this help and exit
      48:  
      49: --version
      50:  
      51: output version information and exit
      52:  
      53: FORMAT controls the output. The only valid option for the second form specifies Coordinated Universal Time. Interpreted sequences are:
      54:  
      55: %% a literal %
      56:  
      57: %a locale’s abbreviated weekday name (e.g., Sun)
      58:  
      59: %A locale’s full weekday name (e.g., Sunday)
      60:  
      61: %b locale’s abbreviated month name (e.g., Jan)
      62:  
      63: %B locale’s full month name (e.g., January)
      64:  
      65: %c locale’s date and time (e.g., Thu Mar 3 23:05:25 2005)
      66:  
      67: %C century; like %Y, except omit last two digits (e.g., 21)
      68:  
      69: %d day of month (e.g, 01)
      70:  
      71: %D date; same as %m/%d/%y
      72:  
      73: %e day of month, space padded; same as %_d
      74:  
      75: %F full date; same as %Y-%m-%d
      76:  
      77: %g last two digits of year of ISO week number (see %G)
      78:  
      79: %G year of ISO week number (see %V); normally useful only with %V
      80:  
      81: %h same as %b
      82:  
      83: %H hour (00..23)
      84:  
      85: %I hour (01..12)
      86:  
      87: %j day of year (001..366)
      88:  
      89: %k hour ( 0..23)
      90:  
      91: %l hour ( 1..12)
      92:  
      93: %m month (01..12)
      94:  
      95: %M minute (00..59)
      96:  
      97: %n a newline
      98:  
      99: %N nanoseconds (000000000..999999999)
     100:  
     101: %p locale’s equivalent of either AM or PM; blank if not known
     102:  
     103: %P like %p, but lower case
     104:  
     105: %r locale’s 12-hour clock time (e.g., 11:11:04 PM)
     106:  
     107: %R 24-hour hour and minute; same as %H:%M
     108:  
     109: %s seconds since 1970-01-01 00:00:00 UTC
     110:  
     111: %S second (00..60)
     112:  
     113: %t a tab
     114:  
     115: %T time; same as %H:%M:%S
     116:  
     117: %u day of week (1..7); 1 is Monday
     118:  
     119: %U week number of year, with Sunday as first day of week (00..53)
     120:  
     121: %V ISO week number, with Monday as first day of week (01..53)
     122:  
     123: %w day of week (0..6); 0 is Sunday
     124:  
     125: %W week number of year, with Monday as first day of week (00..53)
     126:  
     127: %x locale’s date representation (e.g., 12/31/99)
     128:  
     129: %X locale’s time representation (e.g., 23:13:48)
     130:  
     131: %y last two digits of year (00..99)
     132:  
     133: %Y year
     134:  
     135: %z +hhmm numeric timezone (e.g., -0400)
     136:  
     137: %:z +hh:mm numeric timezone (e.g., -04:00)
     138:  
     139: %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)
     140:  
     141: %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30)
     142:  
     143: %Z alphabetic time zone abbreviation (e.g., EDT)
     144:  
     145: By default, date pads numeric fields with zeroes. The following optional flags may follow ‘%’:
     146:  
     147: - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible
     148:  
     149: 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,
     150:  
     151: or O to use the locale’s alternate numeric symbols if available.
     152:  
     153: ENVIRONMENT
     154:  
     155: TZ Specifies the timezone, unless overridden by command line parameters. If neither is specified, the setting from /etc/localtime is used.
     156:  
     157: AUTHOR
     158:  
     159: Written by David MacKenzie.
     160:  
     161: REPORTING BUGS
     162:  
     163: Report bugs to <bug-coreutils@gnu.org>.
     164:  
     165: COPYRIGHT
     166:  
     167: Copyright ? 2006 Free Software Foundation, Inc.
     168:  
     169: This is free software. You may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to
     170:  
     171: the extent permitted by law.
     172:  
     173: SEE ALSO
     174:  
     175: The full documentation for date is maintained as a Texinfo manual. If the info and date programs are properly installed at your site, the command
     176:  
     177: info date
     178:  
     179: should give you access to the complete manual.
     180:  
     181: date 5.97 May 2011 DATE(1)
     182:  

    2:查看date命令的版本信息

       1: [root@DB-Server ~]# date --version
       2:  
       3: date (GNU coreutils) 5.97
       4:  
       5: Copyright (C) 2006 Free Software Foundation, Inc.
       6:  
       7: This is free software. You may redistribute copies of it under the terms of
       8:  
       9: the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
      10:  
      11: There is NO WARRANTY, to the extent permitted by law.
      12:  
      13: Written by David MacKenzie.
      14:  

    3:运用-d参数

       1: [root@DB-Server ~]# date -d now
       2:  
       3: Thu Nov 14 22:52:45 PST 2013
       4:  
       5: [root@DB-Server ~]# date -d 'next monday'
       6:  
       7: Mon Nov 18 00:00:00 PST 2013
       8:  
       9: [root@DB-Server ~]# date -d yesterday +%Y%m%d
      10:  
      11: 20131113
      12:  

    4:显示文件中的时间

       1: [root@DB-Server ~]# cat >date.txt
       2:  
       3: 2013-11-17 10:54:00
       4:  
       5: 2013-11-22 11:11:11
       6:  
       7: [root@DB-Server ~]# more date.txt 
       8:  
       9: 2013-11-17 10:54:00
      10:  
      11: 2013-11-22 11:11:11
      12:  
      13: [root@DB-Server ~]# date -f date.txt
      14:  
      15: Sun Nov 17 10:54:00 PST 2013
      16:  
      17: Fri Nov 22 11:11:11 PST 2013
      18:  

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

       1: [root@DB-Server ~]# date -r install.log
       2:  
       3: Fri Sep 6 11:31:15 PDT 2013
       4:  

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

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

       1: 6.1 只显示当前日期的年份
       2:  
       3: [root@DB-Server ~]# date +%Y
       4:  
       5: 2013
       6:  
       7: 6.2 只显示当前日期的月份
       8:  
       9: [root@DB-Server ~]# date +%m
      10:  
      11: 11
      12:  
      13: 6.3 显示各种格式类型的日期
      14:  
      15: [root@DB-Server ~]# date +%D
      16:  
      17: 11/14/13
      18:  
      19: [root@DB-Server ~]# date '+%Y-%m-%d'
      20:  
      21: 2013-11-14
      22:  
      23: [root@DB-Server ~]# date +%Y-%m-%d
      24:  
      25: 2013-11-14
      26:  
      27: [root@DB-Server ~]# date +%m/%d/%y
      28:  
      29: 11/14/13
      30:  
      31: [root@DB-Server ~]# date +%m/%d/%Y
      32:  
      33: 11/14/2013
      34:  
      35: .......
      36:  

    7: 设置系统时间

       1: [root@DB-Server ~]# date -s "2013-11-14 00:00:00"
       2:  
       3: Thu Nov 14 00:00:00 PST 2013
    作者:潇湘隐者

    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.
  • 相关阅读:
    [bzoj1934][Shoi2007]Vote 善意的投票
    [bzoj1834][ZJOI2010]network 网络扩容
    [bzoj2127]happiness
    [bzoj3876][Ahoi2014]支线剧情
    [bzoj1927][Sdoi2010]星际竞速
    [bzoj3223]Tyvj 1729 文艺平衡树
    [bzoj3224]Tyvj 1728 普通平衡树
    FJOI2017 RP++
    [bzoj3529][Sdoi2014]数表
    异步ajax请求数据处理
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/4798603.html
Copyright © 2011-2022 走看看