Linux 中的 date 命令和示例
date命令用于显示系统日期和时间。 date 命令也用于设置系统的日期和时间。默认情况下,date 命令显示配置 unix/linux 操作系统的时区中的日期。您必须是超级用户 (root) 才能更改日期和时间。
句法:
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
示例选项
1: date (no option) :不带选项,date 命令显示当前日期和时间,包括缩写的日名、缩写的月份名、月份中的某一天、用冒号分隔的时间、时区名称和年。
Command:
$date
Output:
Tue Oct 10 22:55:01 PDT 2017
注意:这里的 unix 系统是在太平洋夏令时配置的。
2: -u 选项:以 GMT(格林威治标准时间)/UTC(协调世界时)时区显示时间。
Command:
$date -u
Output :
Wed Oct 11 06:11:31 UTC 2017
3: -- date或-d 选项:以日期格式显示给定的日期字符串。但这不会影响系统的实际日期和时间值。而是使用以字符串形式给出的日期和时间。
句法:
$date --date=" string "
Command:
$date --date="2/02/2010"
$date --date="Feb 2 2010"
Output:
Tue Feb 2 00:00:00 PST 2010
Tue Feb 2 00:00:00 PST 2010
4:使用 –date 选项显示过去的日期:
- 2 年前的日期和时间。
Command:
$date --date="2 year ago"
Output:
Sat Oct 10 23:42:15 PDT 2015
- 5 秒前的日期和时间。
Command:
$date --date="5 sec ago"
Output:
Tue Oct 10 23:45:02 PDT 2017
- 前一天的日期和时间。
Command:
$date --date="yesterday"
Output:
Mon Oct 9 23:48:00 PDT 2017
- 2 个月前的日期和时间。
Command:
$date --date="2 month ago"
Output:
Thu Aug 10 23:54:51 PDT 2017
- 10 天前的日期和时间。
Command:
$date --date="10 day ago"
Output:
Sat Sep 30 23:56:55 PDT 2017
5:使用 –date 选项显示未来日期:
- 即将到来的特定工作日的日期和时间。
Command:
$date --date="next tue"
Output:
Tue Oct 17 00:00:00 PDT 2017
- 两天后的日期和时间。
Command:
$date --date="2 day"
Output:
Fri Oct 13 00:05:52 PDT 2017
- 第二天的日期和时间。
Command:
$date --date="tomorrow"
Output:
Thu Oct 12 00:08:47 PDT 2017
- 当前日期 1 年后的日期和时间。
Command:
$date --date="1 year"
Output:
Thu Oct 11 00:11:38 PDT 2018
6: -s 或--set 选项:设置系统日期和时间-s 或--set 选项被使用。
句法:
$date --set="date to be set"
Command:
$date
Output:
Wed Oct 11 15:23:26 PDT 2017
Command:
$date --set="Tue Nov 13 15:23:34 PDT 2018"
$date
Output:
Tue Nov 13 15:23:34 PDT 2018
7: –file 或 -f 选项:用于以日期和时间格式显示文件每一行的日期字符串。此选项类似于 –date 选项,但唯一的区别是在 –date 中我们只能给出一个日期字符串,但在一个文件中,我们可以在每一行给出多个日期字符串。
句法:
$date --file=file.txt
$cat >> datefile
Sep 23 2018
Nov 03 2019
Command:
$date --file=datefile
Output:
Sun Sep 23 00:00:00 PDT 2018
Sun Nov 3 00:00:00 PDT 2019
8: -r 选项:用于显示 datefile 的最后修改时间戳。
句法:
$date -r file.txt
我们可以使用 touch 命令修改日期文件的时间戳。
$touch datefile
$date
Wed Oct 11 15:54:18 PDT 2017
//this is the current date and time
$touch datefile
//The timestamp of datefile is changed using touch command.
This was done few seconds after the above date command’s output.
$date
Wed Oct 11 15:56:23 PDT 2017
//display last modified time of datefile
9:与日期命令一起使用的格式说明符列表:
%D: Display date as mm/dd/yy.
%d: Display the day of the month (01 to 31).
%a: Displays the abbreviated name for weekdays (Sun to Sat).
%A: Displays full weekdays (Sunday to Saturday).
%h: Displays abbreviated month name (Jan to Dec).
%b: Displays abbreviated month name (Jan to Dec).
%B: Displays full month name(January to December).
%m: Displays the month of year (01 to 12).
%y: Displays last two digits of the year(00 to 99).
%Y: Display four-digit year.
%T: Display the time in 24 hour format as HH:MM:SS.
%H: Display the hour.
%M: Display the minute.
%S: Display the seconds.
句法:
$date +%[format-option]
例子:
Command:
$date "+%D"
Output:
10/11/17
Command:
$date "+%D %T"
Output:
10/11/17 16:13:27
Command:
$date "+%Y-%m-%d"
Output:
2017-10-11
Command:
$date "+%Y/%m/%d"
Output:
2017/10/11
Command:
$date "+%A %B %d %T %y"
Output:
Thursday October 07:54:29 12 17