date +%s 可以得到UNIX的时间戳;
用shell将时间字符串与时间戳互转:
date -d "2010-10-18 00:00:00" +%s 输出形如:1287331200
而时间戳转换为字符串可以这样做:
date -d @1287331200 "+%Y-%m-%d" 输出形如:2010-10-18
如果需要得到指定日期的前后几天,可以:
1、seconds=`date -d "2010-10-18 00:00:00" +%s` #得到时间戳
2、seconds_new=`expr $seconds + 86400` #加上一天的秒数86400
用shell将时间字符串与时间戳互转:
date -d "2010-10-18 00:00:00" +%s 输出形如:1287331200
而时间戳转换为字符串可以这样做:
date -d @1287331200 "+%Y-%m-%d" 输出形如:2010-10-18
如果需要得到指定日期的前后几天,可以:
1、seconds=`date -d "2010-10-18 00:00:00" +%s` #得到时间戳
2、seconds_new=`expr $seconds + 86400` #加上一天的秒数86400
3、date_new=`date -d @$seconds_new "+%Y-%m-%d"` #获得指定日前加上一天的日前
来自 https://blog.csdn.net/hanyuyang19940104/article/details/80735989
shell时间戳转换问题
1、当前时间戳:date -d "$(date '+%Y%m%d %H:%M')" +%s
2、打印指定时间的时间戳: date -d "2015-08-04 00:00:00" +%s
3、将时间戳转换为时间:date -d @1530094140 "+%Y-%m-%d %H:%M"
4、时间戳加法:date=`date -d "$(date '+%Y%m%d %H:%M')" +%s`
加上一个小时:ddate=`ex2pr $date + 3600`
5、前一天的日期
date -d "1 day ago" +"%y%m%d"
6、前一个月的日期
date -d "1 month ago" +"%y%m%d"
类似的还有
date -d "-1 day ago 1 month ago" +"%y%m%d"
date -d "1 day ago -1 year ago 1 month ago" +"%y%m%d"
来自 https://blog.csdn.net/iris_csdn/article/details/80833174