2015-05-26 35 views
0

我通過兩種日期的%Y%M%d和%Y引用%j(儒略日)如何將Julian日添加到循環中的日期?

#!/bin/bash 

set -e 

for d in {0..24}; 
     do day=$(date -d "20120207 +${d}days" +%Y-%m-%d); echo $day; 
       startday=$(date -d "2012038 +${d}" +%Y%j); echo $startday; 

done 

但試圖循環,當我運行它,我得到這個錯誤:

2012-02-07 
date: invalid date `2012038 +0' 

我不知道什麼是錯的白衣它,我感謝幫助

回答

0

date命令不接受Julian日期爲-d參數。像這樣的工作,而不是?

#!/bin/bash 

set -e 

startdate="20120207" 

for d in {0..24}; do 
    day=$(date -d "${startdate} + ${d} days" +%Y-%m-%d); 
    echo $day; 

    startday=$(date -d "${startdate} + ${d} days" +%Y%j); 
    echo $startday; 
done 
+0

是的,它工作完美! :),我知道問題是試圖將日期設置爲Julian日本身。謝謝! – pepa

0

我的朋友,那不是朱利安日期。你應該查一下它,看看它是什麼名字,包含Julian Day或Julian Date的名字。