2015-10-07 73 views
0


在計算日期時需要unix shell腳本的幫助。Unix Shell腳本 - 根據給定日期計算上週的日期

我將獲取日期值(例如:20150908)作爲參數,現在在我需要計算7天前日期(20150908 -7)的腳本內。

類似如下: 日期= 20150908
lastweek_date = 20150908 - 7 --->這應該輸出20150901

有人能幫助我在此。

感謝

回答

2

隨着GNU日期,我們可以減去一七

$ date -d "20150908 - 1 week" '+%Y%m%d' 
20150901 

另外,我們可以減去7天:

$ date -d "20150908 - 7 days" '+%Y%m%d' 
20150901 

而且,表明這個工程在本月界限:

$ date -d "20150901 - 1 week" '+%Y%m%d' 
20150825 

此解決方案是而不是兼容OSX/BSD。

0

一個星期是604800秒長,所以得到的秒數,因爲在便攜式和POSIX兼容時尚的時代,並用它來計算日期1個星期前做如下:

PRESENT=$(date +%s) 

WEEKAGO=$((PRESENT - 604800)) 

printf "%s\n" "$WEEKAGO"