问题描述:在写shell脚本时需要将一个变量置为昨天的日期,并将其转换为Unix时间戳,即自协调世界时1970年01月01日00时00分以来的秒数
解决方法一:
timeago=`date +%Y-%m-%d --date="-1 day"`
或者timeago=`date -d "-1 day" +%F`
该方法不能将昨日时间转换为Unix时间戳
需要在sql中将时间进行转换,增加条件:oracle_to_unix(to_date('"${timeago}"','yyyy-mm-dd'))
该方法可以解决需求,但是不直观也会影响SQL执行效率
解决方法二:
yesterday=`date +"%Y-%m-%d 00:00:00" -d "-1 days"`
echo $yesterday
timeago=`date -d "${yesterday}" +%s`
echo $timeago
能解决,但是仍然不够精简仍需优化
解决方法三:
timeago=`date -d `date -d "yesterday" +%F` +%s`