2015-12-01 117 views
0

我必須比較(大於)格式爲'dd/MM/yyyy hh:mm:ss'的兩個日期。例如:30/11/2015 14:24:35。 我試圖將它們轉換爲時間戳,然後再比較對方。但是轉換爲時間戳的嘗試並不成功。以特定格式比較日期

$ date --date='16/12/2012 07:21:22' +"%s" 
date: invalid date `16/12/2012 07:21:22' 

我該怎麼做(直接或轉換爲時間戳或使用其他解決方案)?

回答

2

您將需要重新排序字段。

例如,對於SED和bash:

date="$(sed -re 's_(..)/(..)/(....) _\3-\2-\1 _' <<<"$date")" 

一旦你在大端形式有他們,你可以做詞彙比較 - 有沒有必要再轉化爲劃時代秒。根據Bash手冊頁,其內置的test(但不是/usr/bin/test)可以將字符串與'<''>'進行比較。請記住,他們需要引號,以免被誤解爲重定向!