Rails新手问题:
以2012-02-12 23:59:30
格式给出数据库的日期时间,如何在365天内检查它是否存在?
我尝试过以下操作,但无效:<%= expedite - Date.today %>
答案 0 :(得分:5)
您可以向Date.today
添加若干天,并查看日期是否在此之前或之前:
if expedite <= (Date.today + 365.days)
# it's within 365 days
end
您也可以改为Date.today + 1.year
,但这在技术上会增加365.25天,而不是365天。
答案 1 :(得分:2)
假设你的意思是“从现在起1年”到365天,因为检查365天不算闰年:
if expedite <= 1.year.from_now
# ...
else
# ...
end
答案 2 :(得分:0)
此解决方案记录了一年多以前的日期。
if (Date.today-365..Date.today+365).include? expedite
# it's really within 365 days
end
答案 3 :(得分:0)
在某个日期添加365或365,25天可能不是您想要的。 在闰年:
require 'date'
start = Date.new(2012,2,1)
puts start + 365 #=> 2013-01-31
# Human "one year from now":
puts start >> 12 #=> 2013-02-01