一、命令简介
date
命令用于显示或设置系统的日期和时间。
关联命令:timedatectl
二、命令参数
date [选项]... [+FORMAT]
常用选项:
-
-d, --date=STRING
: 显示指定日期时间的格式。 -
-u, --utc, --universal
: 显示或设定为 UTC 时间。 -
-R, --rfc-2822
: 按 RFC 2822 格式显示日期和时间。 -
-I[TIMESPEC], --iso-8601[=TIMESPEC]
: 按 ISO 8601 格式显示日期和时间。
参数:
-
+FORMAT
: 指定输出的日期时间格式。
三、命令示例
显示当前日期时间:
$ date Mon Apr 8 11:38:02 PM CST 2024
显示当前日期时间,格式化为 ISO 8601:
$ date --iso-8601 2024-04-08
显示指定日期时间的格式:
date -d "2023-01-01 12:00:00"
设置时间
soulio@k455l:~$ sudo date -s '2020-05-15 08:00:00' && date 2020年 05月 15日 星期五 08:00:00 CST 2020年 05月 15日 星期五 08:00:00 CST #修改成功了 $ date 2024年 06月 14日 星期五 10:32:57 CST #不到一秒,就被NTP服务重新同步了
相对的日期(不用记)
#此时此刻 $ date 2024年 06月 14日 星期五 09:40:28 CST #十年前的今天,的一个星期后,的一天后,的三小时前,的5分钟后,的10秒前 $ date -d '-10 years +1weeks +1days -3hours +5minutes -10seconds' 2014年 06月 22日 星期日 06:45:18 CST #两个月后的今天 $ date -d '+2months' '+%Y-%m-%d %H:%M:%S' 2024-08-14 10:15:44 #指定日期的三十年后的 $ date -d '2024-5-15 8:00 CST +30years' 2054年 05月 15日 星期五 08:00:00 CST
星期
#当前日期 $ date 2024年 06月 14日 星期五 09:49:25 CST #最近一个还没成为过去式的周五 $ date -d 'Fri' 2024年 06月 14日 星期五 00:00:00 CST $ date -d 'last Wed' $ date -d 'Wed' $ date -d 'next Wed' 2024年 06月 12日 星期三 00:00:00 CST #最近一个,已过,周三 2024年 06月 19日 星期三 00:00:00 CST #最近一个,正在过or未过,周三 2024年 06月 19日 星期三 00:00:00 CST #最近一个,未过,周三 注意: last是最近一个,已过周几,不是上周几 next是最近一个,未过周几,不是下周几 空白 是最近一个,未过或正在过的周几。如果今天是周五,那么 date -d 'Fri' 的结果就是今天。
时间戳-日期转换
时间戳 $ date +%s 1718331221 时间戳-日期格式 $ date -d @1718331221 2024年 06月 14日 星期五 10:13:41 CST 指定日期-时间戳 $ date -d '2024-06-14 22:00:00' +%s 1718373600
它的兄弟命令 time 不是显示或设置系统时间,而是统计执行某个命令消耗的CPU时间。
本文共 441 个字数,平均阅读时长 ≈ 2分钟
评论 (0)