前言
计算机系统时间是从 1970-01-01 00:00:00 开始计算的。
脚本
获取当前日期+时间
1 2 3 4 5 6 7 8
| # 2022-05-16 21:05:53 currentTime =`date "+%Y-%m-%d %H:%M:%S"` # 简写 currentTime =`date "+%F %T"` # yyyy-MM-dd currentTime =`date "+%Y-%m-%d"` # HH:mm:ss currentTime =`date "+%H:%M:%S"`
|
获取时间戳
1 2 3 4 5 6
| # 时间戳(秒) 输出:1652706914 seconds=`date '+%s'` # 获取时间纳秒数 nanoseconds=`date '+%N'` # 获取当前时间的纳秒级时间戳(不建议使用) current_timestamp=$((`date '+%s'`*1000+`date '+%N'`/1000000))
|
获取某个时间的秒数
1
| date -d "2022-05-16 00:00:00" +%s
|
将时间戳转换为时间
1 2 3 4
| #Mon May 16 21:15:14 CST 2022 date -d @1652706914 # yyyy-MM-dd HH:mm:ss date -d "1970-01-01 UTC 1652706914 seconds" "+%F %T"
|
| 格式 |
说明 |
| %% |
%的转义 |
| %a |
当地星期几的缩写,例如Sun、日 |
| %A |
当地星期几的全称,例如Sunday、星期二 |
| %b |
当地月份的缩写,例如Jan、12月 |
| %B |
当地月份的全称,例如January、十二月 |
| %c |
当地日期和时间,例如Thu Mar 3 23:05:25 2005,2018年12月18日 星期二 15时46分23秒 |
| %C |
输出世纪,例如现在是2 |
| %d |
当前月份的第几天,例如18(2018-12-18) |
| %D |
日期,格式与%m%d%y,年为两位数,例如12/18/18 |
| %e |
当前月份的第几天,例如08(2018-12-08) |
| %F |
完整格式的日期,与%Y-%m-%d相同,例如2018-12-18 |
| %g |
年份中的后两位数,例如18 |
| %G |
年 |
| %h |
与%b一样 |
| %H |
小时(00…23),即24小时制 |
| %I |
小时(01…12),即12小时制 |
| %j |
一年中的第几天(001…366) |
| %k |
小时(1…23) |
| %l |
小时(1…12) |
| %m |
月份(01…12) |
| %M |
分钟(01…59) |
| %n |
新行 |
| %N |
纳秒(000000000…999999999) |
| %p |
当地上午或下午,例如PM、下午 |
| %P |
当地上午或下午(小写),例如pm、下午 |
| %q |
第几季度(1…4) |
| %r |
当地12小时制的时间格式,例如下午 04时06分24秒 |
| %R |
24小时制的时分(%H:%M),例如16:07 |
| %s |
从1970-01-01 00:00:00 UTC到现在的秒数 |
| %S |
当前分钟的秒数(00…59) |
| %T |
等价%H:%M:%S,时分秒 |
| %u |
从星期一开始数,一周中的第几天(1…7) |
| %U |
从星期日开始数,一年中的第几周(00…53) |
| %V |
ISO周数,从周一开始数(01…53) |
| %w |
从周日开始数,一周中的第几天(0…6) |
| %W |
从星期一开始数,一年中的第几周(00…53) |
| %x |
当地日期,例如2018年12月18日 |
| %X |
当地时间,例如16时16分17秒 |
| %y |
年份的后两位数(00…99) |
| %Y |
年份 |
| %z |
时区,+hhmm,例如东八区+0800 |
| %? |
时区,+hh::mm,例如东八区+08:00 |
| %:? |
时区,+hh::mm:ss,例如东八区+08:00:00 |
| %Z |
时区的缩写,例如东八区CST |
本文地址: https://github.com/maxzhao-it/blog/post/805f48c5/