用shell将时间字符串与时间戳互转

在shell中,字符串转换为时间戳可以这样做:
date -d "2010-10-18 00:00:00" +%s
不需要指定时、分、秒的话,直接写日期就可以了:
date -d "2010-10-18" +%s
输出形如:
1287331200
 
其中,-d参数表示显示指定的字符串所表示的时间,+%s表示输出时间戳。
而时间戳转换为字符串可以这样做:
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"
输出形如:
2010-10-18 00:00:10
 
再多说一句,如果只要输出日期,不要时间,则去掉 %T 就可以了:
date -d "1970-01-01 UTC 1287331200 seconds" +%F
输出形如:
2010-10-18
顺便再记一下取昨天日期的方法:
date -d "yesterday" +"%Y-%m-%d"
输出形如:
2010-08-22

文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤ 
转载需注明出处:codelast.com 
感谢关注我的微信公众号(微信扫一扫):

wechat qrcode of codelast

发表评论