Linux Date命令详解

Linux中的date命令用于显示或设置系统日期和时间。它允许用户以各种格式显示时间,并计算过去和未来的日期。

在本教程中,我们通过使用示例了解Linux中的date命令。

date命令语法

以下是Linux终端上date命令的语法:

date [option]... [+format]

默认情况下,“日期”命令打印配置系统的时区中的日期。要更改日期和时间,您需要具有root或sudo权限的用户。

显示日期

如果在不使用任何选项和参数的情况下使用date命令,它将以默认格式显示当前日期和时间,如下所示:

$ date

date command
输出显示星期几、月份、当前月份、年份、当前时间和时区以及年份。date命令显示操作系统上设置的默认时区。

显示未来日期

日期字符串-d或–date选项允许您打印未来或即将到来的日期。要打印将来的日期,请在字符串中键入值,如“下周五”、“明天”或类似字符串等。

例如,要打印明天的日期,请键入以下命令:

$ date -d ”tomorrow”

display tomorrow date
显示下周五日期:

$ date -d "next Friday"

display future date
显示过去的日期

使用-d选项,可以在Linux系统上显示过去的日期。日期字符串允许您输入诸如“昨天”、“周六”、“上周五”、“3年前”或类似值。因此,通过使用以下日期字符串,可以显示过去的日期:

$ date -date "1 year ago"

display previous date
要显示昨天的日期,请在date命令中使用以下字符串:

$ date -d ”yesterday”

display yesterday date
同样,要显示上周五的日期,请运行下面提到的命令:

$ date -d ”last Friday”

display previous date using date command
日期命令格式选项

Linux date命令显示的终端输出可以使用格式控制字符进行格式化,格式控制字符前面带有“+”符号。所有这些格式控件都以“%”符号继续,后面跟着它们的值。

例如,我们希望按以下方式格式化date命令的输出:

$ date +"Year: %Y, Month: %m, Day: %d"

display date using format options
使用以下最常见的格式化字符列表,可以按所需格式显示输出:

  • %a-以短格式打印工作日的名称(例如,周一)
  • %A-用于显示完整的工作日名称(例如,星期一)
  • %b-以缩写形式显示月份名称(例如,一月)
  • %B-用于显示整个月份的名称(例如,一月)
  • %d-显示月份的日期(例如,05)
  • %H-显示小时数(00..23)
  • %I-以(01..12)格式显示小时数
  • %j-显示一年中的某一天(001..366)
  • %m-以数字形式显示月份(01..12)
  • %M-以00..59秒打印分钟数。
  • %S-显示秒数(00..60)
  • %u-以数字(1..7)显示星期几
  • %Y-用于显示全年(例如2019年)

使用以下命令,可以浏览date命令的格式选项的完整列表:

$ date --help
$ man date

从字符串值显示日期

-date或-d选项允许您显示特定日期。要显示日期字符串中的特定日期,请指定具有人类可读格式的日期字符串,如以下命令所示:

$ date -d "2020-10-09 10:22:47"

display date from a string value
使用-d选项,还可以按如下方式在自定义格式中显示日期:

$ date -d '12 Jan 2021' +'%A, %d %B %Y'

display date in custom format
显示文件的上次修改时间

有时,我们需要查看文件的上次修改时间。Linux系统中的date命令帮助您打印文件的最后修改时间。当使用date命令后跟“-r”选项时,它将打印文件的最后修改时间。

例如,要显示“/etc/hosts”文件的上次修改日期,请使用下面提到的命令:

$ date -r /etc/hosts

display last modification time of file
Date命令来设置时区

date命令显示在“/etc/localtime”文件中定义的系统默认时区。但是,要打印不同国家的时区,请将“TZ”环境变量设置为所需的时区。

要通过运行以下命令查看所有可用时区列表:

$ timedatectl list-timezones

list timezones
例如,要将时区设置为显示悉尼到澳大利亚的时间,请运行以下命令:

$ TZ='Australia/Melbourne' date

set timezone using date command
用作历元转换器

date命令还可用作历元转换器。epoch以秒为单位显示自1975年2月2日UTC 00:00:00以来经过的时间。要以秒为单位显示到当前日期的已用时间,请将date命令与格式控件%s一起使用:

$ date +%s

date command as Epoch Converter
例如,要查看从一个历元到一个特定日期经过的秒数,请使用以下命令:

$ date -d "1980-10-25" +"%s"

date command Epoch Converter

将日期与其他命令一起使用

Linux系统中的“date”命令可以与其他命令一起实现,以创建包含当前日期和时间信息的各种文件名。

在以下示例中,我们使用以下给定命令创建了一个新的SQL备份文件:

$  mysqldump database_name > database_name-$(date +%Y%m%d).sql

date命令也可以在shell脚本中使用。在下面的示例中,我们将date命令输出分配给一个新变量“date\u now”。

$ date_current=$(date "+%F-%H-%M-%S")
$ echo $date_current

date command in shell script

在Linux中设置日期

使用date命令,您可以手动设置Linux系统的日期。

例如,手动将Linux系统的日期和时间设置为2021年10月13日下午2:30。运行下面提到的命令:

$ date --set="20211013 05:30"

set date in linux
大多数Linux发行版系统时间默认与NTP或timedatectl/timesyncd同步。因此,无需担心如何改变它。

我们提供了一个关于如何在Linux系统上使用date命令的教程。要了解有关日期命令的更多信息,请访问日期命令手册页。

linux sort命令详解
Mismatched anonymous define() module

发表我的评论

电子邮件地址不会被公开。 必填项已用*标注

29 + 7 =

ajax-loader