2015-12-01 92 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)可以将字符串与'<''>'进行比较。请记住,他们需要引号,以免被误解为重定向!