Linux日期命令用法指南:如何设置、更改、格式化和显示日期

2021年11月20日17:51:48 发表评论 1,072 次浏览

Linux日期命令用法指南介绍

Linuxdate命令显示和设置系统日期和时间。此命令还允许用户以不同格式打印时间并计算未来和过去的日期。

请继续阅读以了解如何date在 Linux 中使用该命令。

先决条件

  • 一个运行 Linux 的系统
  • 具有 root 权限的用户帐户
  • 访问终端窗口/命令行

Linux日期命令用法示例:Linux date 命令语法

date命令的语法是:

date [option]... [+format]

如何在 Linux 中使用 date 命令

Linux如何使用日期命令?要显示当前系统时间和日期,请输入以下date命令:

date
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

输出显示星期几、月份中的哪一天、月份、年份、当前时间和时区。默认情况下,该date命令设置为操作系统的时区。

-d选项允许用户在特定日期操作。例如,我们可以输入以下命令:

date -d "2000-11-22 09:10:15"
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

你可以使用该--date命令以日期格式显示给定的日期字符串。此命令不影响系统的实际日期和时间值,它只打印请求的日期。例如:

date --date="09/10/1960"
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

Linux date 命令格式选项

Linux日期命令用法指南:要格式化date命令的输出,你可以使用以+符号开头的控制字符。格式控件以%符号开头,并由它们的当前值代替。

在这里,%Y字符被替换为当前年份,%m被替换为月份,而%d被替换为月份中的日期:

date +"Year: %Y, Month: %m, Day: %d"
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

Linux日期命令用法示例:这是另外两个格式示例:

date "+DATE: %D%nTIME: %T"
Linux日期命令用法指南:如何设置、更改、格式化和显示日期
date +"Week number: %V Year: %y"
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

这些是date命令最常见的格式化字符:

  • %D – 将日期显示为 mm/dd/yy
  • %Y – 年份(例如,2020)
  • %m – 月 (01-12)
  • %B – 长月份名称(例如,十一月)
  • %b – 短月份名称(例如,Nov)
  • %d – 月份中的第几天(例如,01)
  • %j – 一年中的某一天 (001-366)
  • %u – 星期几 (1-7)
  • %A – 完整的工作日名称(例如,星期五)
  • %a – 简短的工作日名称(例如,周五)
  • %H – 小时 (00-23)
  • %I – 小时 (01-12)
  • %M – 分钟 (00-59)
  • %S – 第二 (00-60)

要查看所有格式选项,请在终端中运行date --help或man 命令 man date

在 Linux 中设置或更改日期

要手动更改系统时钟,请使用该--set命令。例如,要将日期和时间设置为2010 年 5 月 13 日下午 5:30,请键入:

date --set="20100513 05:30"
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

大多数 Linux 发行版都使用ntpsystemd-timesyncd服务同步系统时钟,因此手动设置时钟时要小心。

Linux日期命令用法指南:显示过去的日期

使用该--date选项在 Linux 中显示过去的日期。的date命令接受的值,如"tomorrow""Friday""last Friday""next Friday""next week",和类似的。因此,使用以下字符串打印过去的日期:

date --date="2 year ago"
Linux日期命令用法指南:如何设置、更改、格式化和显示日期
date --date="yesterday"
Linux日期命令用法指南:如何设置、更改、格式化和显示日期
date --date="10 sec ago"
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

显示未来日期

Linux如何使用日期命令?该--date选项还可以显示未来的日期。与过去的日期一样,你可以输入字符串来打印即将到来的日期:

date --date="next monday"
Linux日期命令用法指南:如何设置、更改、格式化和显示日期
date --date="4 day"
Linux日期命令用法指南:如何设置、更改、格式化和显示日期
date --date="tomorrow"
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

Linux日期命令用法示例:在文件行显示日期字符串

--file选项打印文件每一行的日期字符串。与--date选项不同,--file可以在每行显示多个日期字符串。

这是--file命令的语法:

date --file=file_name.txt

这里我们使用cat 命令将日期添加到文件中,然后使用 date 命令打印它们:

Linux日期命令用法指南:如何设置、更改、格式化和显示日期

显示日期文件的上次修改时间戳

当你使用该-r选项时,该date命令会打印文件的最后修改时间。例如,以下命令打印上次更改 hosts 文件的时间:

date -r /etc/hosts
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

Linux日期命令用法指南:覆盖时区

默认情况下,该date命令使用中定义的时区/etc/localtime。要在环境中使用不同的时区,请将TZ变量设置为所需的时区。

例如,要切换到纽约时间,请输入:

TZ='America/New_York' date
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

键入date命令以将系统返回到其默认时区。要查看所有可用的时区,请使用该timedatectl list-timezones 命令。

date命令还可以显示不同时区的本地时间。例如,要显示澳大利亚东海岸下周一下午 4:30 的当地时间,请键入:

date -d 'TZ="Australia/Sydney" 04:30 next Monday'
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

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

你可以使用该date命令创建包含当前时间和日期的文件名。下面的输入以当前日期的格式创建一个备份 MySQL 文件:

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

date命令的另一个常见用途是在 shell 脚本中。下面我们指定的输出datedate_now变量:

date_now=$(date "+%F-%H-%M-%S")
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

使用 Unix 纪元时间(纪元转换器)

Linux如何使用日期命令?你可以将该date命令用作 Epoch 转换器。纪元或 Unix 时间戳是自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的秒数。

要显示从纪元到当天的秒数,请使用%s格式控件:

date +%s
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

Linux日期命令用法示例:要查看从纪元到特定日期经过的秒数,请输入:

$ date -d "1984-04-08" +"%s"
Linux日期命令用法指南:如何设置、更改、格式化和显示日期

Linux日期命令用法指南结论

你现在对如何date在 Linux 中使用该命令有了很好的了解。如果你对 Linux 的更多日期/时间配置选项感兴趣,请阅读如何在 Ubuntu 上设置或更改时区/日期/时间。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: