Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ruby中,将两个字符串作为日期进行比较,并得到较旧的字符串_Ruby_Date_Compare - Fatal编程技术网

在Ruby中,将两个字符串作为日期进行比较,并得到较旧的字符串

在Ruby中,将两个字符串作为日期进行比较,并得到较旧的字符串,ruby,date,compare,Ruby,Date,Compare,很像Java中的这篇文章,我想知道如何在Ruby中做: 我有这两个字符串,它们表示日期和时间,我想找到两个字符串中较早的一个: 20141024_133641 20141024_142440 格式为%Y%m%d\u%H%m%S;在本例中,这使得前者更旧。您可以使用DateTime.parse 和往常一样比较 if d1 > d2 ... 或者像@kroky说的那样 [d1,d2].min.to_s #=> "2014-10-24T13:36:41+00:00" [d1,d2].m

很像Java中的这篇文章,我想知道如何在Ruby中做:

我有这两个字符串,它们表示日期和时间,我想找到两个字符串中较早的一个:

20141024_133641 20141024_142440

格式为%Y%m%d\u%H%m%S;在本例中,这使得前者更旧。

您可以使用DateTime.parse

和往常一样比较

 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"
您可以使用DateTime.parse

和往常一样比较

 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"

简单的字典式字符串比较将在这里完成这项工作,因为日期字符串的顺序是从最重要到最不重要的年份到秒。如果d1是您的第一个日期,d2是您的第二个日期字符串,那么simple ruby将使用较旧的日期字符串:


[d1,d2].min

简单的字典式字符串比较将在这里完成这项工作,因为日期字符串的顺序是从最高有效年到最低有效年,再到秒。如果d1是您的第一个日期,d2是您的第二个日期字符串,那么simple ruby将使用较旧的日期字符串:


[d1,d2].min

对它们进行排序,首先是较旧的,最后是较新的。您的格式与的格式类似。如果您可以更改格式,请考虑使用ISO 8601。一个原因是Ruby提供了将字符串转换为日期对象的功能。排序后,首先将更旧,最后一个更新的格式是SIMLAR到的。如果您可以更改格式,请考虑使用ISO 8601。一个原因是Ruby提供了将字符串转换为日期对象的功能。