如果常使用SHELL來製作報表,有時需要用到昨天的日期或前幾天的日期定義,才能讓圈住資料範圍。
在HP-UX裡可以使用TZ這個變數來產生昨天的日期格式:
/>date
中華民國99年11月19日 星期五, 16時05分58秒
/>(export TZ=XYZ+12; date "+%Y%m%d")
20101118
不過TZ這個變數最多能接受正負24,所以過去或未來二天的日期就無法由改變TZ的值來取得,這時候可以利用perl的語法取得:
Yesterday
/>perl -e '@T=localtime(time-86400);printf("%04d%02d%02d",($T[5]+1900),$T[4]+1,$T[3])'
20101118
the day before yesterday
/>perl -e '@T=localtime(time-172800);printf("%04d%02d%02d",($T[5]+1900),$T[4]+1,$T[3])'
20101117
若要前N天,將86400*N即可。
/>perl -e '@T=localtime(time-86400*N);printf("%04d%02d%02d",($T[5]+1900),$T[4]+1,$T[3])'
沒有留言:
張貼留言