📜  Linux 中的 date 命令和示例

📅  最后修改于: 2022-05-13 01:57:26.576000             🧑  作者: Mango

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