在终端里按你的方式显示日期和时间
创始人
2024-03-02 04:03:22
0

Linux 的 date 命令提供了很多显示日期和时间的选项,要比你想的还要多。这是一些有用的选择。

在 Linux 系统上,date 命令非常简单。你键入 date,日期和时间将以一种有用的方式显示。它包括星期几、日期、时间和时区:

$ date
Tue 26 Nov 2019 11:45:11 AM EST

只要你的系统配置正确,你就会看到日期和当前时间以及时区。

但是,该命令还提供了许多选项来以不同方式显示日期和时间信息。例如,如果要显示日期以便进行排序,则可能需要使用如下命令:

$ date "+%Y-%m-%d"
2019-11-26

在这种情况下,年、月和日按该顺序排列。请注意,我们使用大写字母 Y 来获得四位数的年份。如果我们使用小写的 y,则只会看到两位数字的年份(例如 19)。不要让这种做法使你错误地联想到如果 %m 给你一个数字月份,%M 可能会给你月份的名称。不,%M 将给你分钟数。要以缩写名称格式获得月份,你要使用 %b,而对于完全拼写的月份,则要使用 %B

$ date "+%b %B"
Nov November

或者,你可能希望以这种常用格式显示日期:

$ date "+%D"
11/26/19

如果你需要四位数的年份,则可以执行以下操作:

$ date "+%x"
11/26/2019

下面是一个可能有用的示例。假设你需要创建一个每日报告并在文件名中包含日期,则可以使用以下命令来创建文件(可能用在脚本中):

$ touch Report-`date "+%Y-%m-%d"`

当你列出你的报告时,它们将按日期顺序或反向日期顺序(如果你添加 -r)列出。

$ ls -r Report*
Report-2019-11-26
Report-2019-11-25
Report-2019-11-22
Report-2019-11-21
Report-2019-11-20

你还可以在日期字符串中添加其他详细信息。可用的各种选项多得令人惊讶。你可以使用 date "+%q" 来显示你所在的一年中的哪个季度,或使用类似以下命令来显示两个月前的日期:

$ date --date="2 months ago"
Thu 26 Sep 2019 09:02:43 AM EDT

是否想知道下周四的日期?你可以使用类似 date --date="next thu" 的命令,但是要理解,对于Linux,下个周四意味着今天之后的周四。如果今天是星期三,那就是明天,而不是下周的星期四。但是,你可以像下面的第二个命令一样指定下周的星期四。

$ date --date="next thu"
Thu 28 Nov 2019 12:00:00 AM EST
$ date --date="next week thu"
Thu 05 Dec 2019 12:00:00 AM EST

date 命令的手册页列出了其所有选项。该列表多得令人难以置信,但是你可能会发现一些日期/时间显示选项非常适合你。以下是一些你可能会发现有趣的东西。

世界标准时间(UTC):

$ date -u
Tue 26 Nov 2019 01:13:59 PM UTC

自 1970 年 1 月 1 日以来的秒数(与 Linux 系统上日期的存储方式有关):

$ date +%s
1574774137

以下是 date 命令选项的完整列表。正如我所说,它比我们大多数人想象的要广泛得多。

  • %% 显示字母 %
  • %a 本地语言环境的缩写星期名称(例如,日 / Sun)
  • %A 本地语言环境的完整星期名称(例如,星期日 / Sunday)
  • %b 本地语言环境的缩写月份名称(例如 一 / Jan)
  • %B 本地语言环境的完整月份名称(例如,一月 / January)
  • %c 本地语言环境的日期和时间(例如 2005年3月3日 星期四 23:05:25 / Thu Mar 3 23:05:25 2005)
  • %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 24 小时制的小时(00..23)
  • %I 12 小时制的小时(01..12)
  • %j 一年的天(001..366)
  • %k 24 小时制的小时,填充前缀空格( 0..23);与 %_H 相同
  • %l 12 小时制的小时,填充前缀空格( 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 / 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 开始(00..53)
  • %V ISO 周号,以星期一为一周的第一天,从 01 开始(01..53)
  • %w 星期(0..6);0 是星期日
  • %W 年的周号,星期一为一周的第一天,从 00 开始(00..53)
  • %x 本地语言环境的日期表示形式(例如,1999年12月31日 / 12/31/99)
  • %X 本地语言环境的时间表示形式(例如,23:13:48)
  • %y 年的最后两位数字(00..99)
  • %Y 年份
  • %z +hhmm 格式的数字时区(例如,-0400)
  • %:z +hh:mm 格式的数字时区(例如,-04:00)
  • %::z +hh:mm:ss 格式的数字时区(例如,-04:00:00)
  • %:::z 数字时区,: 指明精度(例如,-04, +05:30)
  • %Z 字母时区缩写(例如,EDT)

via: https://www.networkworld.com/article/3481602/displaying-dates-and-times-your-way-with-linux.html

作者:Sandra Henry-Stocker 选题:lujun9972 译者:wxy 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

摩尔线程宣布开源3DGS基...
12月17日,摩尔线程宣布自研3DGS基础库LiteGS全面开源。...
2025-12-17 17:47:15
直击GDPS 2025首日...
封面新闻记者 边雪 这或许是地球上智商密度最高的一平方公里。 如果...
2025-12-13 10:45:18
AI动画|穿越南国冰雪城 ...
天眼新闻
2025-12-07 15:14:52
原创 ...
据环球时报报道,近日,越南外交部发言人范秋姮再次明确表态,越南“明...
2025-12-07 07:45:42
乌若不在一周内签署和平计划...
△乌克兰总统泽连斯基(资料图) 当地时间21日,总台记者自乌克兰...
2025-11-22 10:16:04
陈天桥详解“大脑之镜” 首...
近日,天桥脑科学研究院创始人陈天桥旗下盛大集团技术团队孵化的Eve...
2025-11-18 18:45:19

热门资讯

《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何理解Apache 2.0许... 提要:Apache 2.0许可证中的专利许可条款使得开源代码可以安全使用,但它经常被误解。Apach...