Linux 下的 Datecalc 等效项

Linux 下的 Datecalc 等效项

datecalc我在 Solaris 10 服务器上使用 ksh 中的脚本来获取今天之前 91 天的日期。在 Linux 中相当于什么?

month=`datecalc -a $(date +"%Y %m %d") - 1 |awk {'print $2'}`
day=`datecalc -a $(date +"%Y %m %d") - 91 |awk {'print $3'}`
year=`datecalc -a $(date +"%Y %m %d") - 1 |awk {'print $1'}`

答案1

你可以使用date

date -d "91 days ago" +"%Y %m %d"

不过,如果您只是将其提供给 awk 以获取特定字段,那么您可以只打印您想要的部分,例如

month=$(date -d "91 days ago" +"%m")
day=$(date -d "91 days ago" +"%d")
year=$(date -d "91 days ago" +"%Y")

答案2

GNUdate命令来救援。

$ date
Tue Oct 20 17:27:51 BST 2015
$ date --date='91 days ago'
Tue Jul 21 17:27:52 BST 2015
$

相关内容