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

作者:潇湘隐者

出处:http://www.cnblogs.com/kerrycode/

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.

时间: 2024-09-20 06:23:08

Linux命令学习总结:date命令【转】的相关文章

linux shell编程中date命令的用法

在linux shell编程中,经常用到日期的加减运算 以前都是自己通过expr函数计算,很麻烦 其实date命令本身提供了日期的加减运算 非常方便.例如:得到昨天的时间 date +%Y%m%d --date="-1 day" date 用法: date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] date 可以用来显示或设定系统的日期与时间. 令1.在显示方面,使用者可以设定欲显

Linux命令学习总结: file命令

命令简介: 该命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的. 执行权限 :All User 指令所在路径:/usr/bin/file 命令语法: file [ -bchikLnNprsvz ] [ -f namefile ] [ -F separator ] [ -m magicfiles ] file ... 命令参数: 下表列出了部分常用的参数. 参数 长参数 描叙 -b 列出文件辨识结果时,

c/c++unix/linux基础学习笔记-常用命令和vi的使用

linux 基本命令的使用-命令在ubuntu下面执行,有些命令通用其他linux,有些不通用. 多条命令间用;号隔开,回车后可以一起执行. clear-前屏,pwd显示当前目录,cd跳转目录. sudo [命令]  -ubuntu 下以管理员身份运行命令. 一般情况下,运行当前目录下的程序,要用 ./文件名 执行. 查看当前shell名称:ps 进入另外一个shell,直接输入shell名称:ksh/tcsh/sh/bash,退出一个shell用:exit. 切换shell命令,如:exec

Linux 命令学习之dpkg命令详解

dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理Debian的软件包. 下面是它的一些命令解释: 1)安装软件 命令行:dpkg -i <.deb file name> 示例:dpkg -i avg71flm_r28-1_i386.deb 2)安装一个目录下面所有的软件包 命令行:dpkg -R 示例:dpkg -R /usr/local/src 3)释放软件包,但是不进行配置 命令行:dpkg –unpack package_file 如果和-R一起使用,参数可以

【AIX 命令学习】mkvg 命令

用途 创建卷组. 语法 mkvg [ -B ] [ -t factor ] [ -S [ -v LogicalVolumes ] [ -P Partitions ] ] [ -C ] [ -G ] [ -f ] [ -i ] [ -I ][ -c] [ -x ] [ -L LTGSize ] [ -n ] [ -s Size ] [ -V MajorNumber ] [ -y VolumeGroup ] PhysicalVolume ... 描述 mkvg 命令使用 PhysicalVolume

【AIX 命令学习】migratepv 命令

用途 将已分配的物理分区从一个物理卷移动到另一个或多个其他物理卷. 语法migratepv [  -i ] [  -l LogicalVolume ] SourcePhysicalVolume DestinationPhysicalVolume... 描述   migratepv 命令将已分配的物理分区和它们包含的数据从 SourcePhysicalVolume 移到一个或多个其他物理分区.要限制传送到特定的物理卷,请在 DestinationPhysicalVolume 参数中使用一个或多个物

【AIX 命令学习】lsvg 命令参数使用!

ufserver[/]#lsvg rootvg  ----查看rootvg卷组的详细信息及状态 VOLUME GROUP:       rootvg                   VG IDENTIFIER:  00cecd3e00004c000000011e4872bbdd VG STATE:           active                   PP SIZE:        128 megabyte(s) VG PERMISSION:      read/write 

【AIX 命令学习】errpt 命令参数使用!

el_sequence 错误记录戳记编号 el_label 错误标签 el_timestamp 错误日志记录的时间戳记 el_crcid 唯一的循环冗余检验(CRC)的错误标识符 el_machineid 机器标识变量 el_nodeid 节点标识变量 el_class 错误类 el_type 错误类型 el_resource 资源名称 el_rclass 资源类 el_rtype 资源类型 el_vpd_ibm IBM 重要产品数据(VPD) el_vpd_user 用户 VPD el_in

【AIX 命令学习】errpt 命令示例!

要想显示一个完整的摘要报告,请输入: errpt 要想显示一个完整的详细报告,请输入: errpt  -a 要想显示一个错误标识符 E19E094F 记录的所有的错误的报表,请输入: errpt  -a  -j E19E094F 要想显示一个在过去 24 小时内记录下来的所有错误的详细报表,请输入: errpt  -a  -s mmddhhmmyy 这里,mmddhhmmyy 字符串等于当前的月.日.小时.分和年再减去 24 小时. 要想列出为其日志为任何错误日志记录关闭的错误记录模板,请输入:

linux date命令查看和设置时间详解

  date命令 date命令的功能是显示和设置系统日期和时间. 该命令的一般格式为: date [选项] 显示时间格式(以+开头,后面接格式) date 设置时间格式 命令中各选项的含义分别为: 代码如下: -d datestr, --date datestr 显示由datestr描述的日期 -s datestr, --set datestr 设置datestr 描述的日期 -u, --universal 显示或设置通用时间 时间域 代码如下: % H 小时(00..23) % I 小时(01