我想声明一个名为val1的变量,以yyyymmdd格式保存前一天的日期
任何帮助都会很棒
答案 0 :(得分:7)
val1=$(date +%Y%m%d --date="yesterday")
应该这样做。
答案 1 :(得分:1)
您可以使用GNU date命令,如下所示
过去获得日期
要获得昨天和过去的早些时候使用字符串前一天:
日期 - 日期='昨天'
date --date ='1天前'
date --date = '10 day ago'
date --date = '10 week ago'
date --date = '10 month ago'
日期 - 日期='10年前'
在未来获得日期
明天和明天(明天+ N)明天使用日期字来获取日期如下:
日期 - 日期='明天'
日期 - 日期='1天'
日期 - 日期= '10天'
日期 - 日期= '10周'
日期 - 日期= '10个月'
date --date = '10 year'
在这种情况下应该是
VAL1 = date +%Y%m%d --date="yesterday"
答案 2 :(得分:0)
如果您的date
实施在@ user2042297的答案上窒息,则此可能有效:
awk 'BEGIN {
split(strftime("%Y %m %d", systime()), now)
yesterday = mktime(sprintf("%d %d %d 0 0 0", now[1], now[2], now[3]-1))
print strftime("%Y%m%d", yesterday)
}'
这可能需要GNU awk,所以你可能不会处于更好的位置。