Linux系统日期与时区

发布时间 2023-04-14 19:47:17作者: 克峰同学

date命令

通过date命令可以在命令行中查看系统时间。

语法:date [-d] [+格式化字符串]
  • -d,按照给定的字符串显示日期,一般用于日期计算。
    • 其中支持的时间标记为
      • gear 年
      • month 月
      • day 天
      • hour 小时
      • minute 分钟
      • second 秒
  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式。
    • %Y 年。
    • %y 年份后两位数字。
    • %M 月份。
    • %d 日。
    • %H 小时。
    • %M 分钟。
    • %S 秒。
    • %s 自1970-01-01 00:00:00 UTC 到现在的秒数。

案例

  • 使用date命令本体,无选项,直接查看时间。

    image-20230414184131416

  • 按照2022-01-01 的格式显示日期。

    image-20230414184148449
  • 日期计算

    date -d '+1 day' +%Y-%m-%d-%H:%M:%s       #显示后一天的日期
    date -d '-1 day' +%Y-%m-%d       #显示前一天的日期
    date -d '-1 month' +%Y-%m-%d     #显示上一月的日期
    date -d '+1 month' +%Y-%m-%d     #显示下一月的日期
    date -d '-1 year' +%Y-%m-%d       #显示上一年的日期
    date -d '+1 year' +%Y-%m-%d       #显示下一年的日期
    

Linux时区

发现通过date查看的日期是不准确的,这是因为:系统默认时区非中国的东八区。

使用root权限,执行如下命令,修改时区为东八时区.

rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可。


ntp程序

可以通过ntp程序自动校准系统时间

安装ntp:yum -y install ntp

启动并设置开机自启

  • systemctl start ntpd
  • systemctl enable ntpd

当ntpd启动后会定期的帮我们联网校准系统时间。

  • 也可以手动校准系统时间(需要root权限):ntpdate -u ntp.aliyum.com

    image-20230414193552923