在终端中自定义显示时间和日期

Linux date命令主要用于显示和设定系统的时间,对于程序员来说,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)

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/199663.html<

(0)
运维的头像运维
上一篇2025-04-04 22:45
下一篇 2025-04-04 22:46

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注