3 回答

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
在OSX上,我使用-f來指定輸入格式,使用-j來不嘗試設(shè)置任何日期,并使用輸出格式說明符。例如:
$ date -j -f "%m/%d/%y %H:%M:%S %p" "8/22/15 8:15:00 am" +"%m%d%y"
082215
你的例子:
$ date -j -f "%d %b %Y" "27 JUN 2011" +%Y%m%d
20110627

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
只用bash:
convert_date () {
local months=( JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC )
local i
for (( i=0; i<11; i++ )); do
[[ $2 = ${months[$i]} ]] && break
done
printf "%4d%02d%02d\n" $3 $(( i+1 )) $1
}
然后像這樣調(diào)用它
d=$( convert_date 27 JUN 2011 )
或者,如果“舊”日期字符串存儲(chǔ)在變量中
d_old="27 JUN 2011"
d=$( convert_date $d_old ) # not quoted
添加回答
舉報(bào)