gtag

2010年11月19日 星期五

如何在HP-UX中顯示昨天(Yesterday)與前天(the day before yesterday)的日期

如果常使用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])'

沒有留言:

張貼留言