linux shell取当前日期,时间戳秒/毫秒 【转】

来源:赵克立博客 分类: Linux 标签:脚本Linux命令发布时间:2022-05-09 21:45:11最后更新:2022-05-09 21:48:23浏览:4126
版权声明:
本文为博主学习过程中整理发布,如有侵权请告知
更新时间:
2022-05-09 21:48:23
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

获取当前日期+时间

要获取当前日期+时间,返回如1970-01-01 00:00:00则使用如下代码:

currentTime =`date "+%Y-%m-%d %H:%M:%S"`


输出2019-04-29 09:49:48

也可以使用简写:

currentTime =`date "+%F %T"`


格式可以根据需要修改,如只获取日期:

currentTime =`date "+%Y-%m-%d"`


只获取时间:

currentTime =`date "+%H:%M:%S"`


获取1970-01-01 00:00:00到当前时间的秒数

获取当前时间的秒数如1556503057:

cur_sec=`date '+%s'`


输出:1556503057


获取1970-01-01 00:00:00到当前时间的纳秒

cur_ns=`date '+%N'`


输出:903987355


获取当前时间的纳秒级时间戳

cur_timestamp=$((`date '+%s'`*1000+`date '+%N'`/1000000))


输出:1556503676106


获取某个时间的秒数

date -d "2010-10-18 00:00:00" +%s


输出:1287331200


将时间戳转换为时间

date -d @1287331200


输出:Mon Oct 18 00:00:00 CST 2010

如果想将其转换为形如2010-10-18 00:00:00的格式则使用如下方式:

date -d "1970-01-01 UTC 1287331200 seconds" "+%F %T"

format格式说明表如下

格式说明
%%%的转义
%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秒
%R24小时制的时分(%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)
%VISO周数,从周一开始数(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

微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python