美文网首页
Linux上和日期时间相关的常用命令

Linux上和日期时间相关的常用命令

作者: CodingCode | 来源:发表于2021-10-15 00:50 被阅读0次
  1. 获取当前时间
$ date +%Y%m%d-%H%M%S
20211014-090539
  1. UTC和本地时间相互转换

Local -> UTC

$ date -u|--utc
Thu Oct 14 16:07:43 UTC 2021

UTC -> Local

$ date -d 'Oct 13 22:43:00 2021 UTC'
Wed Oct 13 15:43:00 PDT 2021

这也包括任何时区转UTC或者UTC转任何时区了。

$ date -d 'Oct 13 22:43:00 2021 [TZ]' [-u]
  • [TZ]: 表示“Oct 13 22:43:00 2021”所使用的时区。
    -[u]: 表示输出是UTC还是Local
  1. 设置系统时间
$ sudo date -s "Thu Oct 14 09:36:25 PDT 2021"

还有一个简洁的调整时间的格式,非常好用:

$ sudo date --set='+2 minutes'

$ sudo date --set='-10 seconds'

分别表示推迟2分钟,和提前10秒,很好用。

  1. 设置硬件时间
$ clock--set --date="1/25/09 00:00"

或者用hwclock,他们其实是同一个命令。

另外把系统时间和硬件时间互相同步:

hwclock --systohc   # 把系统时间 写入 硬件时间
hwclock --hctosys   # 把硬件时间 写入 系统时间
  1. 设置ntp时间服务器

首先需要安装ntp服务包,请自行google如果安装。

  • 手动同步当前时间和ntp服务器时间:
$ sudo ntpdate <NTP server>
  • 自动同步
    有两种自动同步方式,一是设置ntpdata的cron job让定时同步,当然这会有时间跳跃的问题,如果本地CPU tick不准确,另一种使用ntp服务自动同步。

启动和停止ntpd服务:

$ sudo systemctl start ntpd
$ sudo systemctl stop ntpd
  • 查看ntp server的信息
$ ntpq -p
  • 查看当前本地ntp服务的状态
$ ntpstat 
  1. timedatectl的使用

timedatectl 是 systemd-timedated.service 系统服务的命令行客户端,用来代替date、hwclock 命令来调整时间。

  • 查看当前系统的时间状态
$ timedatectl # or
$ timedatectl status
      Local time: Sun 2021-10-17 23:45:20 UTC
  Universal time: Sun 2021-10-17 23:45:20 UTC
        RTC time: Sun 2021-10-17 23:45:20
       Time zone: UTC (UTC, +0000)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
  • 设置时间
$ sudo timedatectl set-time '2021-10-15 16:10:10'

这个命令会同时把本地系统时间和硬件时间都修改,也就是相当于两条命令(date --set和hwclock --set)。
另外还有一个要求是"NTP enabled"的值必须是false才能修改时间,否则会报错:Failed to set time: Automatic time synchronization is enabled

  • 设置ntp是否自动同步时间 (当然必须先安装ntp才能设置成自动同步)
$ sudo timedatectl set-ntp true|false

这个命令的后天会把ntpd给启动和停止,我们看$ sudo systemctl status ntpd能发现ntpd服务的状态变化。

  • 设置硬件时间是本地时间还是UTC时间
$ sudo timedatectl set-local-rtc true|false

true: 表示RTC时间的是本地时间
false: 表示RTC使用的是UTC时间

  1. 如何手动强制一次与ntp server做时间同步
$ sudo service ntpd stop
$ sudo ntpd -gq   # or. $ sudo ntpdate <ntp server>
$ sudo service ntpd start

注意这个同步命令必须要ntpd系统服务停止状态才能运行。

另外这个同步只同步ntp server时间和本地系统时间,并不会修改本地硬件时间,还需要执行$ sudo hwclock --systohc同步到硬件时间。

相关文章

  • Linux上和日期时间相关的常用命令

    获取当前时间 UTC和本地时间相互转换 Local -> UTC UTC -> Local 这也包括任何时区转UT...

  • Linux日期时间查看和设置相关命令

    1. 相关命令 2. 查看 2.1 date命令 2.2 hwclock命令 需要权限 2.3 timedatec...

  • Linux 日期和时间

    Reference: http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5...

  • linux的时间和日期

    Linux的两种时钟: date命令 使用格式 显示时间 $ date [OPTION]...[+FORMAT] ...

  • linux部署react

    1.先列举些关于linux的几个简单的常用命令 date 当前时间日期cal 日历pwd 当前目...

  • Linux学习笔记

    Linux常用命令 Linux显示隐藏文件 Linux网络设置 dns服务解析域名配置 临时设定ip相关配置 添加...

  • linux 命令整理

    linux 常用命令归纳大全 一、系统信息处理 二、文件操作相关 三、以太网和WIFI无线相关命令 四、 APT ...

  • Linux常用命令笔记

    Linux常用命令笔记 标签: 笔记 根据慕课网达人养成计划归纳总结的相关笔记 Linux简介 1、Linux分为...

  • Linux常用命令大全

    Linux常用命令大全 最近在弄服务器相关的知识,在这里记录一些常用的Linux命令 系统信息关机用户和群组打包和...

  • 日期时间相关

    工作中经常会遇到需要算出下一天,或者未来的某个时间。使用原来的Calendar和Date都不太方便,在这里强烈推荐...

网友评论

      本文标题:Linux上和日期时间相关的常用命令

      本文链接:https://www.haomeiwen.com/subject/fiupoltx.html