2014-01-30 518 views
1

找了好幾個小時,沒有任何工作。非常感謝任何答案。存儲在變量BASH中的增量日期

initial_date (format %m%d%Y)保存由oracle數據庫查詢返回的值。我想用1天遞增這個日期,並將其作爲一些函數的輸入參數進一步使用。

> echo $initial_date 
02012014 

>tomorrow_date=`date +"%m%d%Y" -d ${initial_date}' + 1 day'` 
date: invalid date `02012014 + 1 day' 

回答

3

您需要的初始日期轉換爲有效的格式,如yyyyMMdd第一。試試:

date +"%m%d%Y" -d "${initial_date:4}${initial_date:0:4} + 1 day" 
+0

工作完美。謝謝。現在我看到我錯了。 – user3253335

+0

+1。一般來說,http://www.gnu.org/software/tar/manual/html_node/General-date-syntax.html#SEC121有關於可以使用'-d'的格式的信息。 OSX用戶:相當於上面的GNU日期命令是:'date -j -f'%m%d%Y'-v'+ 1d'「$ initial_date」+'%m%d%Y'' – mklement0