【Linux】有关时间的命令(date、timedatectl)

 专栏文章索引:Linux

有问题可私聊:QQ:3375119339

目录

 一、data命令

1.介绍

2.常用参数

3.常用选项

二、timedatectl命令

1.介绍

2.常用子命令


 一、data命令

1.介绍

date命令用于显示或设置系统的时间与日期,语法格式为:“ date [+指定的格式]”。

用户只需在强大的date命令后输入以“+”号开头的参数,即可按照指定格式来输出系统的时间或日期,这样在日常工作时便可以把备份数据的命令与指定格式输出的时间信息结合到一起。例如,把打包后的文件自动按照“年-月-日”的格式打包成“backup-2020-9-1.tar.gz”,用户只需要看一眼文件名称就能大概了解到每个文件的备份时间了。

2.常用参数

参数作用
%S秒(00~59 )
%M分钟(00~59 )
%H小时(00~23 )
%l小时(00~12 )
%m月份(1~12 )
%p显示出AM或PM
%a缩写的工作日名称(例如: Sun )
%A完整的工作日名称(例如: Sunday )
%b缩写的月份名称(例如:Jan )
%B完整的月份名称(例如:January )
%q季度( 1~4 )
%y简写年份(例如∶20 )
%Y完整年份(例如∶2020 )
%d本月中的第几天
%j今年中的第几天
%n换行符(相当于按下回车键)
%t跳格(相当于按下Tab键)
%V显示当前日期的周数
  • 按照默认格式查看当前系统时间的date命令如下所示:
[user@redhathost20230911 ~]$ date
Sat Apr  6 20:33:36 CST 2024

中部标准时间(Central Standard Time,CST)是世界上一个广泛使用的时区之一,主要用于北美和中美洲的一些地区。

  • 按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date命令如下所示:
[user@redhathost20230911 ~]$ date "+%Y-%m-%d %H:%M:%S"
2024-04-06 20:43:51
  • date命令中的参数%j可用来查看今天是当年中的第几天。这个参数能够很好地区分备份时间的新旧,即数字越大,越靠近当前时间。该参数的使用方式以及显示结果如下所示:
[root@redhathost20230911 ~]# date "+%j"
097

3.常用选项

选项功能
-s设置系统的日期和时间
  • -s

将系统的当前时间设置为2025年10月11日1点35分30秒的date命令如下所示:

有两种方法:

1.月日时分年点秒

[root@redhathost20230911 ~]# date 101101352025.30
Sat Oct 11 01:35:30 CST 2025

2.-s

[root@redhathost20230911 ~]# date -s "2025-10-11 1:35:30"
Sat Oct 11 01:35:30 CST 2025

二、timedatectl命令

1.介绍

timedatectl 命令用于设置系统的时间,英文全称为: “time date control” ,语法格式为: “timedatectl [参数 ]”
发现电脑时间跟实际不符?如果只差几分钟的话,我们可以直接调整,但如果差几个小时,那么除了调 整当前的时间,还有必要检查下时区了。

2.常用子命令

  • 查看系统时间与时区:
[root@redhathost20230911 ~]# timedatectl statusLocal time: Sat 2024-04-06 21:57:22 CSTUniversal time: Sat 2024-04-06 13:57:22 UTCRTC time: Sat 2024-04-06 13:57:22Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yesNTP service: activeRTC in local TZ: no
  • 如果您查到的时区不是上海(Asia/Shanghai),可以手动进行设置:
[root@redhathost20230911 ~]# timedatectl set-timezone Asia/Shanghai 
  • 如果时间还是不正确,我们可以手动的修改系统日期:
[root@redhathost20230911 ~]# timedatectl set-time 2024-04-06
Failed to set time: NTP unit is active

看起来在您的系统上,NTP(Network Time Protocol)单元处于活动状态,这可能会阻止您手动设置时间。NTP是一种用于同步计算机系统时间的协议,通常用于确保计算机的时间与全球标准时间保持同步。

您可以尝试停止NTP服务后再手动设置时间。以下是在大多数Linux系统上停止NTP服务的命令:

systemctl stop ntp

停止NTP服务后,您可以再次尝试使用 timedatectl set-time 命令来手动设置时间。完成设置后,您可以选择重新启动NTP服务以确保系统时间的持续同步。

请注意,在进行此类更改之前,请确保您了解其可能对系统和应用程序的影响,并在必要时备份重要数据。

  • 而如果想修改时间的话,也很简单:
timedatectl set-time 9:30
  • localectl set-locale LANG=en_US

localectl 命令用于控制系统的地区设置,包括语言环境(locale)。通过设置合适的语言环境,您可以确保系统中显示的文本和消息以及日期、时间等格式符合您的偏好和语言习惯。

在您提供的命令中,您试图将系统的语言环境设置为英文(美国)。这意味着系统将使用英文作为默认的语言环境,以及日期、时间等格式。

命令 localectl set-locale LANG=en_US 用于将语言环境设置为英文(美国)。请注意,这将更改整个系统的语言环境设置,包括系统消息、用户界面等。

三、练习

1.题目

  1. 使用date命令显示当前的日期和时间。

  2. 使用date命令将当前日期和时间格式化为YYYY-MM-DD HH:MM:SS的形式。

  3. 使用date命令显示当前月份的日历。

  4. 使用date命令将系统时间设置为指定的日期和时间。

  5. 使用date命令计算两个日期之间的天数差。

  6. 使用date命令显示当前时区。

  7. 使用date命令显示当前日期的Unix时间戳。

  8. 使用date命令显示当前日期的年份。

  9. 使用date命令将日期和时间转换为指定格式。

  10. 使用date命令显示当前日期的周数。

2.参考答案

  1. 使用date命令显示当前的日期和时间。
    [root@redhathost20230911 ~]# date
    Sun Apr  7 08:56:51 CST 2024
    [root@redhathost20230911 ~]# 
  2. 使用date命令将当前日期和时间格式化为YYYY-MM-DD HH:MM:SS的形式。

    [root@redhathost20230911 ~]# date "+%Y-%m-%d %H:%M:%S"
    2024-04-07 08:59:44
    [root@redhathost20230911 ~]# 
  3. 使用date命令显示当前月份的日历。

    [root@redhathost20230911 ~]# date +%m
    04
    [root@redhathost20230911 ~]# 
    
  4. 使用date命令将系统时间设置为指定的日期和时间。

  5. 使用date命令计算两个日期之间的天数差。

  6. 使用date命令显示当前时区。

    [root@redhathost20230911 ~]# date +%Z
    CST
    [root@redhathost20230911 ~]# 
    

    全球共有24个主要时区,它们基于经度划分,并相对于协调世界时(UTC)的时间偏移量可能不同。以下是一些主要的时区:

    UTC-12: 国际日期变更线西侧时区。
    UTC-11: 萨摩亚时区、美国萨摩亚群岛时区。
    UTC-10: 夏威夷标准时间、阿拉斯加-夏威夷标准时间。
    UTC-9: 阿拉斯加标准时间。
    UTC-8: 太平洋标准时间、美国和加拿大时区、西部标准时间。
    UTC-7: 山地标准时间、美国和加拿大时区、山地夏令时。
    UTC-6: 中部标准时间、墨西哥标准时间。
    UTC-5: 东部标准时间、西印度群岛时间。
    UTC-4: 大西洋标准时间、委内瑞拉标准时间。
    UTC-3: 亚马逊标准时间、阿根廷标准时间。
    UTC-2: 南乔治亚岛和南桑威奇群岛时间。
    UTC-1: 佛得角标准时间、佛得角夏令时间。
    UTC: 协调世界时、格林威治标准时间。
    UTC+1: 中欧时间、西非时间。
    UTC+2: 东欧时间、中部非洲时间。
    UTC+3: 东非时间、阿拉伯标准时间。
    UTC+4: 迪拜标准时间、莫斯科标准时间。
    UTC+5: 巴基斯坦标准时间、马尔代夫时间。
    UTC+6: 孟加拉标准时间、不丹时间。
    UTC+7: 印度尼西亚西部时间、柬埔寨时间。
    UTC+8: 中国标准时间、澳大利亚西部标准时间。
    UTC+9: 日本标准时间、韩国标准时间。
    UTC+10: 澳大利亚东部标准时间、关岛标准时间。
    UTC+11: 所罗门群岛时间、诺福克岛时间。

    请注意,一些地区可能会在夏季实行夏令时,时区偏移量可能会因此而改变。

    系统显示的时区是CST。CST通常指代的是中国标准时间,位于UTC+8时区。但需要注意的是,CST也可以指代其他时区,如美国中部标准时间(Central Standard Time)。无法确定具体是哪个CST时区。

  7. 使用date命令显示当前日期的Unix时间戳。

    [root@redhathost20230911 ~]# date +%s
    1712452726
    [root@redhathost20230911 ~]# 

    时间戳是一种表示日期和时间的方式,通常以秒数的形式表示自1970年1月1日00:00:00 UTC以来的时间间隔。这个特定的时间点被称为UNIX纪元(Unix Epoch),是计算机系统中广泛使用的时间起点。

    使用时间戳的主要优势是它们是与时区无关的,因为它们是以UTC时间为基础的。这使得时间戳在跨越不同的时区或在计算机系统中进行时间计算时非常方便。

    Unix时间戳是一种常见的时间表示方法,在许多编程语言和操作系统中都有内置支持。它被广泛用于记录文件的创建时间、处理时间相关的数据、计算时间间隔等各种场景。

  8. 使用date命令显示当前日期的周数。

    [root@redhathost20230911 ~]# date +%V
    14
    [root@redhathost20230911 ~]# 
    

    date +%V命令所使用的周数是ISO 8601标准中定义的周数。根据ISO 8601标准,每年的第一周是包含该年的第一个星期四的周。因此,周数是从该年的第一个星期四开始计算的。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/599658.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

影响力营销与AI的结合:Kompas.ai在搭桥角色中的独特价值

在数字化营销的新时代,影响力营销已经成为品牌建立信任和提升市场影响力的有效手段。通过与关键意见领袖(KOL)的合作,品牌能够利用KOL的信誉和影响力来扩大其市场覆盖范围和提升品牌认知度。然而,寻找与品牌价值观相契…

Embedding:跨越离散与连续边界——离散数据的连续向量表示及其在深度学习与自然语言处理中的关键角色

Embedding嵌入技术是一种在深度学习、自然语言处理(NLP)、计算机视觉等领域广泛应用的技术,它主要用于将高维、复杂且离散的原始数据(如文本中的词汇、图像中的像素等)映射到一个低维、连续且稠密的向量空间中。这些低…

校园圈子小程序,大学校园圈子,三段交付,源码交付,支持二开

介绍 在当今的数字化时代,校园社交媒体和在线论坛成为了学生交流思想、讨论问题以及分享信息的常用平台。特别是微信小程序,因其便捷性、用户基数庞大等特点,已逐渐成为构建校园社区不可或缺的一部分。以下是基于现有资料的校园小程序帖子发…

Advanced RAG 02:揭开 PDF 文档解析的神秘面纱

编者按: 自 2023 年以来,RAG 已成为基于 LLM 的人工智能系统中应用最为广泛的架构之一。由于诸多产品的关键功能(如:领域智能问答、知识库构建等)严重依赖RAG,优化其性能、提高检索效率和准确性迫在眉睫&am…

C语言之联合体

与结构体一样,联合体也是由多个成员组成,但是编译器只为最大的成员分配足够的空间,联合体的所有成员共用一块空间,所以联合体也叫共用体。 1.声明:类似结构体的声明,只是名字是union不是struct。声明并计算…

mysql结构与sql执行流程

Mysql的大体结构 客户端:用于链接mysql的软件 连接池: sql接口: 查询解析器: MySQL连接层 连接层: 应用程序通过接口(如odbc,jdbc)来连接mysql,最先连接处理的是连接层。 连接层…

linux学习:awk和RE

awk awk是一种用于处理文本的编程语言工具,他扫描文件中的每一行,查找与命令行中所给定内容相匹配的模式,如果发现匹配内容,则进行下一个编程步骤。如果找 不到匹配内容,则继续处理下一行 awk ‘条件 1 {动作 1} 条件…

Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks

原文链接:https://arxiv.org/abs/1908.10084 提出契机: 提升相似文本的检索速度 在自然语言处理领域,BERT(Bidirectional Encoder Representations from Transformers)和RoBERTa(A Robustly Optimized B…

网络安全之代码签名证书申请

代码签名,作为一种数字安全机制,对于软件开发、分发及用户使用环节具有至关重要的意义。以下从六大方面阐述代码签名必不可少的重要性: 确保代码来源可信: 代码签名如同软件的“身份证”,通过数字证书对开发者身份进…

CVE-2024-3148 DedeCms makehtml_archives_action sql注入漏洞分析

DedeCMS(也称为织梦CMS)是一款基于PHPMySQL的开源内容管理系统。 在 DedeCMS 5.7.112 中发现一个被归类为严重的漏洞。此漏洞会影响某些未知文件dede/makehtml_archives_action.php的处理。操作导致 sql 注入。攻击可能是远程发起的。该漏洞已向公众披露…

4.网络编程-websocket(golang)

目录 什么是websocket golang中使用websocket Server端 Client端 什么是websocket WebSocket是一种在互联网上提供全双工通信的协议,即允许服务器和客户端之间进行双向实时通信的网络技术。它是作为HTML5的一部分标准化的,旨在解决传统HTTP协议在实…

【Frida】【Android】 10_爬虫之WebSocket协议分析

🛫 系列文章导航 【Frida】【Android】01_手把手教你环境搭建 https://blog.csdn.net/kinghzking/article/details/136986950【Frida】【Android】02_JAVA层HOOK https://blog.csdn.net/kinghzking/article/details/137008446【Frida】【Android】03_RPC https://bl…