如何在 Unix 中找到减去 7 天的当前日期?

jcr*_*kar 3 unix ksh sh

我试图找到今天前 7 天的日期。

 CURRENT_DT=`date +"%F %T"`
 diff=$CURRENT_DT-7 
 echo $diff 
Run Code Online (Sandbox Code Playgroud)

我正在尝试像上面这样的东西来找到比当前日期少 7 天的时间。有人可以帮我吗?

che*_*ner 9

GNUdate将为您进行数学计算:

date --date "7 days ago"
Run Code Online (Sandbox Code Playgroud)

其他版本将要求您首先将当前日期转换为自 UNIX 时代以来的秒数,手动减去 7 天的秒数,然后将其转换回所需的形式。有关date如何与 Unix 时间戳相互转换的详细信息,请参阅您的版本的文档。这是date再次使用 GNU 的示例:

x=$(date +%s)
x=$((x - 7 * 24 * 60 * 60))
date --date @$x
Run Code Online (Sandbox Code Playgroud)