就像在Java中提到的OP一样,我想知道如何在Ruby中使用:
How to compare a date - String in the custom format “dd.MM.yyyy, HH:mm:ss” with another one?
我有这两个字符串,它们传达日期和时间,我想找到两者中较老的一个:
20141024_133641 20141024_142440
格式为%Y%m%d_%H%M%S;在这种情况下,这使前者成为旧的。
答案 0 :(得分:4)
简单的词典字符串比较将在此处完成,因为您的日期字符串按严格顺序从最重要到最不重要(年到秒)排序。如果d1
是您的第一个日期而d2
是您的第二个日期字符串,那么简单的红宝石就会获得旧日期:
[d1,d2].min
答案 1 :(得分:0)
您可以使用DateTime.parse
d1 = DateTime.parse("20141024_142440","%Y%m%d_%H%M%S")
d2 = DateTime.parse("20141024_133641","%Y%m%d_%H%M%S")
并照常比较它们
if d1 > d2 ...
或者像@kroky说
[d1,d2].min.to_s #=> "2014-10-24T13:36:41+00:00"
[d1,d2].max.to_s #=> "2014-10-24T14:24:40+00:00"