如何查看特定日期之前剩余的天数?
例如,我想从今天起3天后开始执行一些逻辑?我将很难编码今天的日期,现在减去它,但是如何?
修改
我想要做的是在接下来的三天禁用模型的设计确认电子邮件,
if Rails.env== 'production' && (three days left sense 1/7/2013)
devise :confirmable
end
答案 0 :(得分:1)
为什么要这么麻烦?
if Rails.env== 'production' && Time.now.strftime("%Y%m%d").to_i >= 20130110
devise :confirmable
end
答案 1 :(得分:0)
答案 2 :(得分:0)
如果我做对了,
您只需将开始时间存储在变量中
然后检查当前时间(你会在几秒钟内得到差异)
如果它大于72(3天),则if
语句将完成。
require 'time'
start_time=Time.now
if Rails.env== 'production' && ( (Time.new - start_time)/3600 >72 )
devise :confirmable
end
答案 3 :(得分:0)
在你的情况下你需要做这样的事情:
("object name".date.to_time<=time.now+3)
(do something)if x.date.to_time<=today
技术to_time使你能够选择时间(日,周,月,年)
ENV.all.each do|env|
where (env.date.to_time<= Time.now+3)
if Rails.env== 'production' && (env.date.to_time== today)
devise :confirmable
end
答案 4 :(得分:0)
试
if Time.now >= <your_time_object> + 3.days
# start executing some logic
end