2
我需要在bash中將包含小時的字符串轉換爲日期,例如:2012-02-09-18,並將結果存儲在變量中,以便我可以比較這些字符串作爲日期。如果我用於轉換Bash - 將字符串轉換爲日期
date -d "2012-02-09-18"
它會崩潰並顯示「無效的日期錯誤」。我怎樣才能做到這一點?
我需要在bash中將包含小時的字符串轉換爲日期,例如:2012-02-09-18,並將結果存儲在變量中,以便我可以比較這些字符串作爲日期。如果我用於轉換Bash - 將字符串轉換爲日期
date -d "2012-02-09-18"
它會崩潰並顯示「無效的日期錯誤」。我怎樣才能做到這一點?
你可以調整輸入使用sed
,使其可解析由date
:
str='2012-02-09-18'
date -d "$(sed 's/-\([^-]*\)$/ \1/' <<< "$str")"
Thu Feb 9 18:00:00 EST 2012
與試試這個bash的parameter expansion:
a="2012-02-09-18"
date -d "${a%-*} ${a#*-*-*-*}"
輸出:
Thu Feb 9 18:00:00 CET 2012
看一看: http://stackoverflow.com/questions/11144408/convert-string-to-date-in-bash –
什麼是期望的輸出?因爲不清楚你是否想要刪除小時 – fedorqui