我想在变量中获取sysdate -1和sysdate -2并回显它。我正在使用下面的查询,它将今天的日期作为输出。
#! /bin/bash
tm=$(date +%Y%d%m)
echo $tm
如何获得昨天和前天的日期?
答案 0 :(得分:25)
这是另一种方式,
昨天,
date -d '-1 day' '+%Y%d%m'
前天,
date -d '-2 day' '+%Y%d%m'
答案 1 :(得分:8)
昨天的日期
YES_DAT=$(date --date=' 1 days ago' '+%Y%d%m')
前天的日期
DAY_YES_DAT=$(date --date=' 2 days ago' '+%Y%d%m')
对于任何可以使用的日期,默认需要1天。如果它在前一天通过值
ANY_YES_DAT=$(date --date=' $1 days ago' '+%Y%d%m')
答案 2 :(得分:2)
您可以通过以下方式获取昨天的日期:
date -d "yesterday 13:00 " '+%Y-%m-%d'
和前天这个: -
date -d "yesterday-1 13:00 " '+%Y-%m-%d'
答案 3 :(得分:1)
对于不提供-v
选项的BSD日期的较早版本(例如,在macOS的旧版本上),您可以通过从当前时期减去86400秒(一天中的秒数)来获取昨天的日期
date -r $(( $(date '+%s') - 86400 ))
很明显,您可以为昨天等天减去2 * 86400。
编辑:添加对旧macOS版本的引用。