如何在 Unix 中获取昨天的日期

How to get yesterday date in Unix

我想以 YYYY-MM-DD 格式获取昨天的日期。

在bash中,我可以使用date '+%F' -d "1 day ago"获取。它给出的输出为 2015-09-02.

如何在 ksh 中获得相同的结果?

Kshprintf 支持日期时间操作:

# echo ${.sh.version}
Version AJM 93u+ 2012-08-01
# printf '%(%Y-%m-%d)T\n' today
2015-09-03
# printf '%(%Y-%m-%d)T\n' yesterday
2015-09-02
# printf '%(%Y-%m-%d)T\n' '5 days ago'
2015-08-29
#