基本用法
date [OPTION]... [+FORMAT]
显示当前日期和时间
默认情况下,date
命令显示当前的日期和时间:
date
输出示例:
Sun Jun 2 10:29:08 UTC 2024
自定义日期和时间格式
可以使用 +FORMAT
选项自定义输出格式。常用的格式选项包括:
%Y
:四位数的年份(例如,2024)%m
:两位数的月份(01-12)%d
:两位数的日期(01-31)%H
:两位数的小时(00-23)%M
:两位数的分钟(00-59)%S
:两位数的秒(00-59)%A
:完整的星期名称(Sunday-Saturday)%a
:缩写的星期名称(Sun-Sat)%B
:完整的月份名称(January-December)%b
:缩写的月份名称(Jan-Dec)%T
:时间(24小时制,格式为%H:%M:%S
)%F
:日期(格式为%Y-%m-%d
)
示例
- 显示日期和时间(自定义格式):
date "+%Y-%m-%d %H:%M:%S"
输出示例:
2024-06-02 10:29:08
- 显示完整的日期和时间:
date "+%A, %B %d, %Y %T"
输出示例:
Sunday, June 02, 2024 10:29:08
显示其他时区的时间
可以使用 TZ
环境变量指定时区。例如,显示纽约时间:
TZ="America/New_York" date
设置系统日期和时间
只有超级用户(root)可以设置系统日期和时间。
- 设置日期和时间:
sudo date MMDDhhmm[[CC]YY][.ss]
- MM:月份(两位数)
- DD:日期(两位数)
- hh:小时(两位数,24小时制)
- mm:分钟(两位数)
- CC:世纪(可选,两位数)
- YY:年份(可选,两位数)
- ss:秒(可选,两位数)
例子:设置日期和时间为 2024 年 6 月 2 日 10:30:00
sudo date 060210302024.00
使用日期计算
可以使用 date
命令进行日期计算,例如添加或减去天数、小时、分钟等。
- 显示三天后的日期:
date -d "+3 days"
- 显示一周前的日期:
date -d "last week"
- 显示两小时后的时间:
date -d "+2 hours"
获取当前 Unix 时间戳
Unix 时间戳是自 1970 年 1 月 1 日 00:00:00 UTC 以来的秒数。
- 显示当前 Unix 时间戳:
date +%s
获取指定时间的 Unix 时间戳
可以使用 -d
选项指定一个时间,并获取其 Unix 时间戳。例如:
- 获取指定日期的时间戳:
date -d "2024-06-02 10:30:00" +%s
输出示例:
1717330200
- 获取指定日期和时间的时间戳:
date -d "2023-12-25 00:00:00" +%s
输出示例:
1703462400
将 Unix 时间戳转换为日期
- 将 Unix 时间戳转换为日期:
date -d @timestamp
例子:将时间戳 1654161600
转换为日期
date -d @1654161600
显示 GMT/UTC 时间
- 显示当前的 UTC 时间:
date -u
- 自定义 UTC 时间格式:
date -u "+%Y-%m-%d %H:%M:%S"
常用格式化示例
- 显示当前年份:
date "+%Y"
- 显示当前月份:
date "+%m"
- 显示当前日期:
date "+%d"
- 显示当前时间(小时:分钟:秒):
date "+%H:%M:%S"
- 显示完整日期和时间(ISO 8601 格式):
date "+%Y-%m-%dT%H:%M:%S%z"