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

标签 unix sh ksh

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

 CURRENT_DT=`date +"%F %T"`
 diff=$CURRENT_DT-7 
 echo $diff 

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

最佳答案

GNU date会为你做数学:

date --date "7 days ago"

其他版本将要求您首先将当前日期转换为自 UNIX 时代以来的秒数,手动减去 7 天的秒数,然后将其转换回所需的形式。请查阅适用于您的 date 版本的文档有关如何与 Unix 时间戳相互转换的详细信息。这是一个使用 GNU date 的示例再次:
x=$(date +%s)
x=$((x - 7 * 24 * 60 * 60))
date --date @$x

关于unix - 如何在 Unix 中找到减去 7 天的当前日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29475739/

相关文章:

linux - 我在旧目录中有一系列文件,我想检查该文件是否存在于新目录中。如果它不存在,我想对其进行一些操作

bash - 为什么在可执行文件或脚本名称之前需要 ./(点斜杠) 才能在 bash 中运行它?

linux - 使用 Awk 比较两个文件

shell - 使用 sed 替换 shell 脚本中的特殊字符

java - 警告 : Couldn't read data from file "image.jpg", 这会导致空 POST

linux - 获取 Red Hat Linux 的 CD-R 的 SCSI id

shell - 如何检查声音是否在我的声卡上停止播放

linux - 在没有 XServer 的系统上启动时运行 Emacs

c - 比较c中的两个char指针值时strcmp返回true

shell - 伯恩 : if statement testing exit status