date 命令
显示或设置系统日期与时间
type
status
date
slug
summary
tags
category
icon
password
一、命令功能
用于显示或设置系统日期与时间。
二、语法格式
三、常用选项(OPTION)
选项 | 说明 |
-d, --date=STRING | 通过字符串显示时间(不能是 now) |
-f, --file=DATEFILE | 从文件中读取时间字符串(每行一个) |
-I[FMT], --iso-8601[=FMT] | 输出 ISO 8601 格式时间(FMT: date, hours, minutes, seconds, ns) |
-R, --rfc-2822 | 输出 RFC 5322 格式时间 |
--rfc-3339=FMT | 输出 RFC 3339 格式时间(FMT: date, seconds, ns) |
-r, --reference=FILE | 显示文件最后修改时间 |
-s, --set=STRING | 设置系统时间(需 root 权限) |
-u, --utc, --universal | 显示或设置 UTC 时间 |
--help | 显示帮助信息 |
--version | 显示版本信息 |
四、格式化输出标记(FORMAT)
常用格式符:
符号 | 说明 |
%Y | 年份(四位数) |
%y | 年份(两位数) |
%m | 月份(01-12) |
%d | 日期(01-31) |
%H | 小时(00-23) |
%M | 分钟(00-59) |
%S | 秒(00-60) |
%T | 时间(等价于 %H:%M:%S) |
%F | 日期(等价于 %Y-%m-%d) |
%D | 日期(等价于 %m/%d/%y) |
%A | 星期全称(如 Monday) |
%a | 星期缩写(如 Mon) |
%B | 月份全称(如 January) |
%b | 月份缩写(如 Jan) |
%Z | 时区缩写(如 CST) |
%z | 时区偏移(如 +0800) |
%:z | 时区偏移(如 +08:00) |
%s | 时间戳(自 1970-01-01 00:00:00 UTC 起的秒数) |
特殊符号:
%%:输出%
%n:换行
%t:制表符
去除前导零:
使用
%- 前缀,如:五、使用示例
1. 显示当前时间
2. 格式化输出
3. 输出昨天/明天日期
4. 输出指定秒数后的时间
5. 时间戳转换
6. 时间加减操作
7. 设置系统时间(需 root)
六、注意事项
- 权限限制:只有 root 用户可设置系统时间。
- 写入 CMOS:设置时间后建议执行
clock -w将时间写入硬件时钟。
- 时区问题:使用
u可查看或设置 UTC 时间。
- 格式兼容性:不同系统对
date命令的支持可能略有差异,建议测试后再用于脚本。
七、补充知识点
- 时间戳:
%s输出的是自 1970-01-01 00:00:00 UTC 起的秒数。
- 纳秒精度:
%N可输出纳秒(但并非所有系统支持)。
- RFC 格式:
R和-rfc-3339适用于日志、API 等标准化时间输出。
Loading...