比较Rails中的日期

neo*_*neo 2 ruby ruby-on-rails

在我的Rails应用程序中,我得到一些日期字符串'2016-6','2016-10'我想找到最新的,如何做到这一点?

Ily*_*lya 5

使用Date.strptime解析特定日期格式:

str = '2016-6'
Date.strptime(str, '%Y-%m')
=> Wed, 01 Jun 2016
Run Code Online (Sandbox Code Playgroud)

然后你可以简单地比较日期:

Date.strptime('2016-6', '%Y-%m') < Date.strptime('2016-10', '%Y-%m')
=> true
Run Code Online (Sandbox Code Playgroud)

并找到一个代表最后日期的字符串:

['2016-6', '2016-10'].max_by { |str| Date.strptime(str, '%Y-%m')  }
=> "2016-10"
Run Code Online (Sandbox Code Playgroud)