簡體   English   中英

Bash - 將字符串轉換為日期

[英]Bash - convert string to date

我需要在bash中將包含小時的字符串轉換為日期,例如:2012-02-09-18,並將結果存儲在變量中,以便我可以將這些字符串作為日期進行比較。 如果我用於轉換

  date -d "2012-02-09-18"

它會因“無效的日期錯誤”而崩潰。 我怎樣才能做到這一點?

嘗試使用bash的參數擴展

a="2012-02-09-18"
date -d "${a%-*} ${a#*-*-*-*}"

輸出:

Thu Feb  9 18:00:00 CET 2012

您可以調整輸入,使其可以使用seddate解析:

str='2012-02-09-18'

date -d "$(sed 's/-\([^-]*\)$/ \1/' <<< "$str")"
Thu Feb  9 18:00:00 EST 2012

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM