请教,通过改变时区来获得N天前日期,为啥只能是7天啊
在网上找的一个方法,可以获得N天前日期:
N=5
OTZ=$TZ
TZ=`echo $TZ | nawk -v nn=$N '{h=substr($1,1,3); \
a=substr($1,4);b=a+24*nn-8;printf("%s%+d",h,b)}'`
export TZ
echo $TZ
MYDATE=`date +%y%m%d`
当N取不大于7的值时,可以正确得到,但是当N大于7时,得到的日期却是系统当天日期,而非N天前日期,请问这是为什么啊,谢谢指教
[解决办法]
N天等N*24*60*60秒,通过当前的time秒数减去前面计算的描述,在使用localtime获得时间数组。