我有一个名为job
的模型。
我想计算自job
创建以来的天数。
我认为我们必须计算Date.today
和jobs
created_at
我的方法是:
def self.open_jobs(date)
Date.today - where("status='open' AND date(created_at) = ?",date).round
end
我收到一些错误,请告诉我如何计算作业创建的天数。
我必须计算天数。例如,我在2012年第20季度创建了一份工作。 它应该是Date.today - 20/09/2013 答案应该是5天还有一件事我需要再检查一次列状态=“打开”并只显示那些工作。
如果有人知道怎么计算,请在这里发帖。
答案 0 :(得分:10)
job.created_at
是Time
,Date.today
是Date
您无法减去Time
和Date
。请注意Date.tomorrow - Time.now
为您提供了该错误。
以秒为单位获得差异:
Time.now - job.created_at
您可以将此转换为天数(浮点数或整数),如下所示:
(Time.now - job.created_at) / 24.hours
((Time.now - job.created_at) / 24.hours).to_i
或者有(MyGod的回答):
Date.today.mjd - job.created_at.to_date.mjd
答案 1 :(得分:1)
您应该使用Date.today
和job.created_at
如果您想计算自创建作业以来的天数,请使用:
def job_for_days
(Date.today - self.created_at).round(1.day)
end
答案 2 :(得分:0)
考虑两个日期 -
date1= Date.parse("10/10/2012")
date2= Date.parse("10/21/2012")
天数的差异:
date2.mjd - date1.mjd
其中,
mjd =修改后的朱利安日号