在Unix中获取前一天的日期

Jai*_*shi 2 shell solaris date unix-timestamp

我使用以下代码将前一天的日期分配给昨天的变量:

yesterday=`TZ=GMT+24 date +%Y%m%d`;
echo $yesterday;
Run Code Online (Sandbox Code Playgroud)

我在凌晨时分执行命令时正确分配了值.但是在夜间(晚上9点左右),我没有得到前一天的日期,但与今天的日期相同.

我的服务器位于PDT timezeone中.我尝试了"TZ = PDT + 24"进行分配,但结果相同.

仅供参考,我使用的是Solaris 5.10.

这种奇怪情况的原因是什么?

Ken*_*ent 5

我无法对solaris进行精确测试.但是在Linux上,这适用于最后一天(昨天):

kent$ date -d'yesterday' +%Y%m%d
20130520
Run Code Online (Sandbox Code Playgroud)

所以你只需键入"昨天",你就不必做一些特别的事了date.很酷,不是吗?