1. 命令简介date 命令是 Linux 和 Unix 系统中用于显示或设置系统日期和时间的核心工具。它功能强大不仅可以输出当前时间还能以高度自定义的格式进行显示、解析复杂的时间字符串、进行时间计算并具备设置系统时钟的能力通常需要管理员权限。2. 语法格式date 命令有两种主要语法模式显示模式用于格式化输出时间bash运行date [选项]... [格式]格式由%引导的转义序列组成用于定义输出时间的具体样式。设置模式用于修改系统时间bash运行date [选项]... [MMDDhhmm[[CC]Y Y][.ss]]MM月份 (01-12)DD日 (01-31)hh小时 (00-23)mm分钟 (00-59)CC世纪的前两位可选默认为 20YY年份的后两位可选.ss秒 (00-60)可选3. 常用选项及说明表格短选项长选项说明-d STRING--dateSTRING解析并显示指定的时间字符串而非当前时间。支持 yesterday、next Monday、2024-01-01 3 days 等格式-s STRING--setSTRING设置系统时间为 STRING 描述的时间需要 root 权限-r FILE--referenceFILE显示指定文件 FILE 的最后修改时间-I[FMT]--iso-8601[FMT]以 ISO 8601 格式输出时间FMT 可选 date/hours/minutes/seconds/ns-R--rfc-email以 RFC 5322 格式输出时间常用于邮件头部-u--utc / --universal使用 UTC 世界协调时进行显示或设置---rfc-3339FMT以 RFC 3339 格式输出时间FMT 可选 date/seconds/ns---help查看命令帮助信息---version查看 date 命令版本4. 格式说明符高频常用在FORMAT参数中使用%加字符定义输出格式表格格式符说明示例输出%Y四位数年份2024%m两位数月份 (01-12)07%d两位数日期 (01-31)05%H24 小时制小时 (00-23)14%M分钟 (00-59)30%S秒 (00-60)45%A完整星期名称Friday%a缩写星期名称Fri%B完整月份名称July%b / %h缩写月份名称Jul%T时分秒等价 % H:% M:% S14:30:45%F年月日等价 % Y-% m-% d2024-07-05%sUnix 时间戳 (1970 至今秒数)1720189845%z时区偏移0800%Z时区缩写CST格式修饰符%-取消补零 例%-H→ 14非 014%_空格填充 例%_d→ 5%0零填充默认规则5. 实战示例用法5.1 基础时间显示bash运行# 显示默认系统时间 date # 输出Fri Jul 5 14:30:45 CST 2024 # 显示 UTC 标准时间 date -u5.2 自定义格式化输出bash运行# 输出 年-月-日 date %Y-%m-%d # 示例2024-07-05 # 输出 时:分:秒 date %H:%M:%S # 示例14:30:45 # 组合中文时间展示 date 今天是 %Y 年 %m 月 %d 日%A现在时间是 %T %Z。 # 输出 Unix 时间戳 date %s5.3 时间解析与时间计算bash运行# 解析指定日期 date -d 2024-01-01 # 获取昨天日期 date -d yesterday %F # 获取一周后的时间 date -d next week %F %T # 时间戳转为可读时间 date -d 1720189845 # 相对时间加减3天后、2小时前 date -d 2024-07-05 3 days - 2 hours %F %T5.4 文件时间 系统时间设置bash运行# 查看文件最后修改时间 date -r /etc/passwd # 设置系统时间root 权限 sudo date -s 2024-07-05 15:00:00 # 传统格式设置时间 sudo date 070515002024.305.5 标准规范格式输出bash运行# ISO 8601 纯日期 date -I # ISO 8601 精确到秒 date -Iseconds # RFC 5322 邮件格式 date -R # RFC 3339 标准格式 date --rfc-3339seconds6. 重要注意事项权限限制-s / --set修改系统时间必须拥有 root 超级用户权限。系统时钟建议不建议直接用 date 修改硬件时钟生产环境优先使用timedatectl或同步 NTP 时间服务器。时区生效规则默认读取系统时区可临时指定时区TZAmerica/New_York date。兼容性问题-d时间解析依赖 GNU coreutils 版本不同 Linux 发行版语法略有差异。时间戳特性%s输出基于 UTC 时间不受本地时区影响。
Linux date 命令详解(超全速查)
发布时间:2026/7/10 22:16:41
1. 命令简介date 命令是 Linux 和 Unix 系统中用于显示或设置系统日期和时间的核心工具。它功能强大不仅可以输出当前时间还能以高度自定义的格式进行显示、解析复杂的时间字符串、进行时间计算并具备设置系统时钟的能力通常需要管理员权限。2. 语法格式date 命令有两种主要语法模式显示模式用于格式化输出时间bash运行date [选项]... [格式]格式由%引导的转义序列组成用于定义输出时间的具体样式。设置模式用于修改系统时间bash运行date [选项]... [MMDDhhmm[[CC]Y Y][.ss]]MM月份 (01-12)DD日 (01-31)hh小时 (00-23)mm分钟 (00-59)CC世纪的前两位可选默认为 20YY年份的后两位可选.ss秒 (00-60)可选3. 常用选项及说明表格短选项长选项说明-d STRING--dateSTRING解析并显示指定的时间字符串而非当前时间。支持 yesterday、next Monday、2024-01-01 3 days 等格式-s STRING--setSTRING设置系统时间为 STRING 描述的时间需要 root 权限-r FILE--referenceFILE显示指定文件 FILE 的最后修改时间-I[FMT]--iso-8601[FMT]以 ISO 8601 格式输出时间FMT 可选 date/hours/minutes/seconds/ns-R--rfc-email以 RFC 5322 格式输出时间常用于邮件头部-u--utc / --universal使用 UTC 世界协调时进行显示或设置---rfc-3339FMT以 RFC 3339 格式输出时间FMT 可选 date/seconds/ns---help查看命令帮助信息---version查看 date 命令版本4. 格式说明符高频常用在FORMAT参数中使用%加字符定义输出格式表格格式符说明示例输出%Y四位数年份2024%m两位数月份 (01-12)07%d两位数日期 (01-31)05%H24 小时制小时 (00-23)14%M分钟 (00-59)30%S秒 (00-60)45%A完整星期名称Friday%a缩写星期名称Fri%B完整月份名称July%b / %h缩写月份名称Jul%T时分秒等价 % H:% M:% S14:30:45%F年月日等价 % Y-% m-% d2024-07-05%sUnix 时间戳 (1970 至今秒数)1720189845%z时区偏移0800%Z时区缩写CST格式修饰符%-取消补零 例%-H→ 14非 014%_空格填充 例%_d→ 5%0零填充默认规则5. 实战示例用法5.1 基础时间显示bash运行# 显示默认系统时间 date # 输出Fri Jul 5 14:30:45 CST 2024 # 显示 UTC 标准时间 date -u5.2 自定义格式化输出bash运行# 输出 年-月-日 date %Y-%m-%d # 示例2024-07-05 # 输出 时:分:秒 date %H:%M:%S # 示例14:30:45 # 组合中文时间展示 date 今天是 %Y 年 %m 月 %d 日%A现在时间是 %T %Z。 # 输出 Unix 时间戳 date %s5.3 时间解析与时间计算bash运行# 解析指定日期 date -d 2024-01-01 # 获取昨天日期 date -d yesterday %F # 获取一周后的时间 date -d next week %F %T # 时间戳转为可读时间 date -d 1720189845 # 相对时间加减3天后、2小时前 date -d 2024-07-05 3 days - 2 hours %F %T5.4 文件时间 系统时间设置bash运行# 查看文件最后修改时间 date -r /etc/passwd # 设置系统时间root 权限 sudo date -s 2024-07-05 15:00:00 # 传统格式设置时间 sudo date 070515002024.305.5 标准规范格式输出bash运行# ISO 8601 纯日期 date -I # ISO 8601 精确到秒 date -Iseconds # RFC 5322 邮件格式 date -R # RFC 3339 标准格式 date --rfc-3339seconds6. 重要注意事项权限限制-s / --set修改系统时间必须拥有 root 超级用户权限。系统时钟建议不建议直接用 date 修改硬件时钟生产环境优先使用timedatectl或同步 NTP 时间服务器。时区生效规则默认读取系统时区可临时指定时区TZAmerica/New_York date。兼容性问题-d时间解析依赖 GNU coreutils 版本不同 Linux 发行版语法略有差异。时间戳特性%s输出基于 UTC 时间不受本地时区影响。