$(TZ=MSZ+24 date +"%d%m%Y") 在夏令时期间没有按预期工作?

$(TZ=MSZ+24 date +"%d%m%Y") not working as expected during daylight savings?

我有一个脚本利用 $(TZ=MSZ+24 date +"%d%m%Y") 在 BASH(AIX 系统)中获取昨天的日期。到目前为止,它已经完美地工作了 5 个月,直到昨晚它无法正常工作。通常它在服务器时间 01:00 上午运行,但昨晚发生了一些事情 运行ge,它无法运行的唯一原因是 $(TZ=MSZ+24 date +"%d%m%Y")

所以,我的问题是,如果星期六晚上时钟快了 1 小时,它会影响 $(TZ=MSZ+24 date +"%d%m%Y") 所以当星期天 运行 时,它会给出 st运行结果?

谢谢

由于夏令时,24小时前可能是今天或前天。如果您想在不使用 GNU 日期的情况下更改脚本,请使用以下技巧:

您确定昨天是 20 或 30 小时前。哪一个?好吧,最近的不是今天。

echo "$(TZ=MSZ+30 date +"%d%m%Y")
$(TZ=MSZ+20 date +"%d%m%Y")" | grep -v "$(date +"%d%m%Y")" | tail -1