new*_*bie 3 ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1
我需要编写rails helper方法以返回最新日期。
到目前为止,这是我的方法
def latest_date(value_dates)
value_dates.each |value_date| do
my_dates << value_date
end
Run Code Online (Sandbox Code Playgroud)
我需要对上面的数组进行排序,并只返回最新日期。
日期采用以下格式:
2012-10-10T22:11:52.000Z
Run Code Online (Sandbox Code Playgroud)
有没有日期排序方法?
该.max方法将为您完成;)
> [Date.today, (Date.today + 2.days) ].max
#=> Fri, 05 Jul 2013
Run Code Online (Sandbox Code Playgroud)
有关它的文档(Ruby 2.0):
您可能需要将数据解析为Dates,如果它们是字符串,则可以使用:
dates = ["2012-10-10T22:11:52.000Z", "2012-11-10T22:11:52.000Z", "2013-10-10T22:11:52.000Z"]
dates = dates.map{ |date_str| Date.parse(date_str) }
dates.max #=> returns the maximum date of the Array
Run Code Online (Sandbox Code Playgroud)
请参阅我的irb控制台(Ruby 1.9.3):
> dates = ["2012-10-10T22:11:52.000Z", "2012-11-10T22:11:52.000Z", "2013-10-10T22:11:52.000Z"]
#=> ["2012-10-10T22:11:52.000Z", "2012-11-10T22:11:52.000Z", "2013-10-10T22:11:52.000Z"]
> dates = dates.map{ |date_str| Date.parse(date_str) }
#=> [Wed, 10 Oct 2012, Sat, 10 Nov 2012, Thu, 10 Oct 2013]
> dates.max
#=> Thu, 10 Oct 2013
Run Code Online (Sandbox Code Playgroud)
(DateTime.parse(date_str)如果您还想保留时间,请使用)
| 归档时间: |
|
| 查看次数: |
835 次 |
| 最近记录: |