📅  最后修改于: 2020-12-08 03:17:21             🧑  作者: Mango
Linux date命令用于显示日期,时间,时区等。它还用于设置Linux系统的日期和时间。通常,它用于以不同的格式显示日期并计算一段时间内的日期。
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
以下是date命令的一些有用的命令行选项:
-d,–date = STRING:用于显示STRING描述的时间。
–debug:用于注释解析的日期,并向stderr提供有关使用争议的警告。
-f,-file = DATEFILE:类似于“ –date”选项。
-I [FMT],–iso-8601 [= FMT]:用于以ISO 8601格式显示日期/时间。
-R,-rfc-email:用于以RFC 5322格式显示日期和时间。例如,2006年8月14日星期一02:34:56 -0600。
–rfc-3339 = FMT:用于以RFC 3339格式显示日期/时间。
-r,–reference = FILE:用于显示FILE的先前修改时间。
-s,–set = STRING:用于设置STRING描述的时间。
-u,-utc,-universal:用于显示或设置UTC。
–help:用于显示帮助手册。
–version:显示版本信息。
%a:用于显示缩写的工作日名称(例如,Sun)
%A:用于显示完整的工作日名称(例如,星期日)
%b:用于显示缩写的月份名称(例如Jan)
%B:用于显示完整的月份名称(例如,一月)
%c:用于显示日期和时间(例如,2005年3月3日星期四,23:05:25)
%C:用于显示世纪;类似于%Y,但省略了最后两位数字(例如20)
%d:用于显示每月的某天(例如01)
%D:用于显示日期;与%m /%d /%y相同
%e:用于显示月份中的日期,以空格填充;与%_d相同
%F:用于显示完整日期;与%Y-%m-%d相同
%g:用于显示ISO周编号的年份的后两位数字(请参见%G)
%G:用于显示ISO周编号的年份(请参见%V);通常仅对%V有用。
%h:与'%b'选项相似。
%H:使用一个小时(00..23)
%I:使用一个小时(01..12)
%j:用于一年中的某一天(001..366)
%k:用于小时,补空格(0..23);与%_H相同
%l:用于小时,补空格(1..12);与%_I相同
%m:用于月份(01..12)
%M:用于分钟(00..59)
%n:用于换行
%N:用于纳秒(000000000..999999999)
%p:用于传递AM或PM的等效值;如果未知,则为空白
%P:与'%p'选项相似,但是以小写形式传递。
%q:用于显示一年的季度(1..4)
%r:用于显示12小时制的时钟时间(例如11:11:04 PM)
%R:用于显示小时和分钟的24小时制时钟时间;与%H:%M相同
%s:用于显示自1970-01-01 00:00:00 UTC以来的秒数
%S:用于显示第二个(00..60)
%t:用于选项卡选项。
%T:用于显示时间;与%H:%M:%S相同
%u:用于星期几(1..7); 1是星期一
%U:使用一年中的第几周,将星期日视为一周的第一天(00..53)
%V:用于ISO周编号,将星期一视为一周的第一天(01..53)
%w:用于星期几(0..6); 0是星期日
%W:用于年份中的星期数,将星期一视为星期的第一天(00..53)
%x:用于日期表示(例如12/31/99)
%X:用于时间表示(例如23:13:48)
%y:用于年份的后两位数字(00..99)
%Y:使用一年
%z:用于+ hh:mm数字时区(例如-0400)
%:z:用于+ hh:mm数字时区(例如-04:00)
%:: z:用于+ hh:mm:ss数字时区(例如-04:00:00)
%::: z:用于带有':'的数字时区,以达到必要的精度(例如-04,+ 05:30)
%Z:用于字母时区的缩写(例如EDT)
让我们看一下date命令的以下示例:
date命令是基本实用程序,可以通过不带任何参数的执行来使用。它将显示当前日期和时间。考虑以下命令:
date
上面的命令将显示系统的当前日期和时间。考虑以下输出:
我们可以按照您选择的格式显示日期。有几个选项可以以特定格式显示日期。从上面的格式选项列表中可以看到不同的日期格式。考虑以下命令:
date '%a %d-%m-%y'
date +'%A %d-%m-%y'
date +'%b %d-%m-%y'
date +'%B %d-%m-%y'
date +'%c %d-%m-%y'
date +'%C %d-%m-%y'
通过以上命令,日期将以不同的格式显示。考虑以下输出:
与上述命令类似,还有其他可用选项。请参阅上述格式选项中的完整列表。
我们可以用不同的日期字符串指定日期。 '-d'选项用于在特定日期进行操作。考虑以下命令:
date -d "2020-06-06 12:10:53"
通过上面的命令,我们以不同的格式指定了日期。它将显示特定日期和时间的描述。考虑以下输出:
我们还可以使用自定义格式,如下所示:
date -d '06 jun 2020' +'%A, %d %B %Y'
上面的命令将以给定的格式显示日期。考虑以下输出:
另外,我们可以传递诸如“昨天”,“星期一”,“上周一”,“下周一”,“下个月”,“下一年”之类的字符串。
考虑以下命令:
date -d now
date -d yesterday
date -d tomorrow
date -d "next monday"
date -d "last monday"
上面的命令将相应地显示日期。考虑以下输出:
默认情况下,date命令会根据当前时区显示时间。但是,我们可以通过设置环境变量“ TZ”来更改它。 “ TZ”变量的默认值存储在文件“ / etc / localtime”中。更改环境变量的值后,我们可以显示来自不同时区的时间。考虑以下命令:
TZ='Australia/Melbourne' date
TZ=+5:30 date
上面的命令将根据给定的时区显示时间。考虑以下输出:
date命令还可用于显示纪元时间。时代时间(Unix时间或Unix时间戳或POSIX时间)是自1970年1月1日以来已经过的时间(以秒为单位)。
要显示从纪元到当前日期的时间,请使用“%s”选项执行命令,如下所示:
date +%s
上面的命令将从纪元时间开始显示经过的时间。考虑以下输出:
要将时间转换为当前日期,请在秒数前面加上“ @”。考虑以下命令:
date -d @122222222
上面的命令会将时间(以秒为单位)转换为人类可读的格式。考虑以下输出:
-r选项用于显示文件的最后修改时间。例如,要显示文件“ Demo1.txt”的最后修改时间,请执行以下命令:
date -r Demo1.txt
上面的命令将显示修改给定文件的时间。考虑以下输出:
我们可以使用date命令设置系统的时间和日期。但是,不建议通过date命令设置系统的日期和时间。因为Linux系统时钟是使用sytemd-timesyncd或ntp服务进行同步的。
要通过date命令设置时间,请使用“ –set = time”选项。例如,如果要将日期和时间设置为“ 2020年6月6日晚上8:15”,请执行以下命令:
date --set="20200606 22:15"
上面的命令将设置指定的时间。考虑以下输出: