linux命令-date显示或设置时间

来源:互联网 发布:淘宝透明下拉栏 编辑:程序博客网 时间:2024/04/30 10:41

转载自:http://blog.csdn.net/sodjfowehyrtf9ehnifj/article/details/52469160

帮助信息

在终端输入date –help查看帮助信息 
date --help

指令

date [OPTION]... [+FORMAT]or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
  • 1
  • 2
  • 3

选项 
-d 按照指定的字符串输出时间,如date -d “1990/09/18” 
-f 逐行输出指定文件中的时间 
-I[TIMESPEC] 以ISO 8601 格式显示日期/时间。TIMESPEC为”date”(只显示日期)、”hours”、”minutes”、”senconds”(显示时间精度)之一,默认为”date”。 
-r 显示指定文件的最后修改时间 
-R 按照RFC-2822日期格式显示时间 
-s 按照指定字符串设置时间 
-u 按照Coordinated Universal Time (UTC)格式设置或输出时间

format参数格式 
%% a literal % 
注:输出一个%符号 
%a locale’s abbreviated weekday name (e.g., Sun) 
注:星期几的缩写,如Sat周六,Sun周日 
%A locale’s full weekday name (e.g., Sunday) 
注:星期几的全称,如Sunday周日 
%b locale’s abbreviated month name (e.g., Jan) 
注:月份的缩写,如Aug八月 
%B locale’s full month name (e.g., January) 
注:月份的全称,如September九月 
%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., 20) 
注:输出世纪,年份除以一百后取整数,如2016换算后就是20世纪。。。 
%d day of month (e.g., 01) 
注:一个月中的第几天,用两位数表示。如1号的话,显示01 
%D date; same as %m/%d/%y 
注:按照%m/%d/%y格式输出日期,如date “+%D” 输出结果是09/08/16 
%e day of month, space padded; same as %_d 
注:一个月中的第几天,数字表示。如1号的话,显示1 
%F full date; same as %Y-%m-%d 
注:按照%Y-%m-%d格式输出完整日期,如date “+%F”,2016-09-08 
%g last two digits of year of ISO week number (see %G) 
注:年份(yy),输出年份的后两位数字 
%G year of ISO week number (see %V); normally useful only with %V 
注:年份(yyyy) 
%h same as %b 
注:输入月份的缩写,同%b 
%H hour (00..23) 
注:24小时制,00~23 
%I hour (01..12) 
注:12小时制,01~12,如date -d ‘00:00:11’ “+%I”,会显示12 
%j day of year (001..366) 
注:一年中的第几天,三位数字显示 
%k hour, space padded ( 0..23); same as %_H 
注:24小时制,用数字表示,0~23 
%l hour, space padded ( 1..12); same as %_I 
注:12小时制,用数字表示,如date -d ‘01:01:11’ “+%I”,输出01 
%m month (01..12) 
注:月份,用两位数字表示,如一月份用01表示 
%M minute (00..59) 
注:分钟,用两位数字表示 
%n a newline 
注:换行 
%N nanoseconds (000000000..999999999) 
注:输出纳秒 
%p locale’s equivalent of either AM or PM; blank if not known 
注:输出大写的当前时间的上午或下午,如AM,PM 
%P like %p, but lower case 
注:输出小写的当前时间的上午或下午,如am,pm 
%r locale’s 12-hour clock time (e.g., 11:11:04 PM) 
注:按照12小时制输出时间,如date “+%r”,输出11:44:57 AM 
%R 24-hour hour and minute; same as %H:%M 
注:按照24小时制输出小时和分钟,和%H:%M同种效果 
%s seconds since 1970-01-01 00:00:00 UTC 
注:自1970-01-01 00:00:00 UTC开始到现在的秒数 
%S second (00..60) 
注:秒,00~60 
%t a tab 
注:一个tab,相当于输出8个空格 
%T time; same as %H:%M:%S 
注:输出时间,和%H:%M:%S同效果,date “+%F %T”,输出2016-09-08 11:48:27 
%u day of week (1..7); 1 is Monday 
注:按照数字输出星期几,1~7,1是周一 
%U week number of year, with Sunday as first day of week (00..53) 
注:一年中的第几周,周日是一周的第一天,00~53 
%V ISO week number, with Monday as first day of week (01..53) 
注:ISO格式的周次,一年中的第几周,周一是一周的第一天,00~53 
%w day of week (0..6); 0 is Sunday 
注:按照数字输出星期几,0~6,0是周日 
%W week number of year, with Monday as first day of week (00..53) 
注:一年中的第几周,周一是一周的第一天,00~53 
%x locale’s date representation (e.g., 12/31/99) 
注:输出日期,例如12/31/99, 
%X locale’s time representation (e.g., 23:13:48) 
注:输出时间,如23:13:48 
%y last two digits of year (00..99) 
注:输出年份的后两位 
%Y year 
注:输出年份 
%z +hhmm numeric time zone (e.g., -0400) 
注:RFC-2822 风格数字格式时区 
%:z +hh:mm numeric time zone (e.g., -04:00) 
注:时区 
%::z +hh:mm:ss numeric time zone (e.g., -04:00:00) 
注:时区 
%:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) 
注:时区 
%Z alphabetic time zone abbreviation (e.g., EDT) 
注:时区(e.g., EDT), 无法确定时区则为空

示例

输出时间 
输出当前时间

#dateThu Sep  8 11:59:49 CST 2016
  • 1
  • 2
  • 3

按照指定格式输出时间

#date "+%Y-%m-%d %H:%M:%S"2016-09-08 13:48:24
  • 1
  • 2
  • 3

输出指定的字符串

#date -d "2016-09-08 13:48:24" "+%F %T"2016-09-08 13:48:24#date -d "2016-09-08 13:48:24" "+%x"09/08/2016--明天--# date -d next-day "+%F %T"2016-09-09 13:59:38# date -d tomorrow "+%F %T"2016-09-09 14:05:15--昨天--# date -d last-day "+%F %T"2016-09-07 14:03:56# date -d yesterday "+%F %T"2016-09-07 14:03:56--更多--# date -d next-month "+%F %T"2016-10-08 14:06:42# date -d next-year "+%F %T"2017-09-08 14:07:26# date -d "5 days ago" "+%F %T"2016-09-03 14:08:31# date -d week "+%F %T"2016-09-15 14:17:37# date -d "Nov 12 - 2 days" "+%F %T"2016-11-10 00:00:00# date -d "12/12 - 2 days" "+%F %T"2016-12-10 00:00:00# date -d "2 days" "+%F %T"2016-09-10 14:24:34
  • 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
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

设置时间

--设置完整的时间--#date -s "2016-09-10 14:24:34"--设置日期--#date -s "2016-09-10"#date -s "2016/09/10"#date -s "09/10/2016"这样设置的话,由于没有设置时间,所以时间都是00:00:00
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

显示文件最后修改时间

#date -r /binWed Aug 31 15:58:16 HKT 2016
  • 1
  • 2
  • 3

显示文件的时间

# more date.txt 2016-02-10 19:11:112016-10-11 17:22:332014/12/11 13:11:11# date -f date.txtWed Feb 10 19:11:11 HKT 2016Tue Oct 11 17:22:33 HKT 2016Thu Dec 11 13:11:11 HKT 2014# date -f date.txt "+%F %T"2016-02-10 19:11:112016-10-11 17:22:332014-12-11 13:11:11

原创粉丝点击