2016-09-19 102 views
0

sidekiq工作人员将电子邮件中的PDF附件发送给客户。该工作人员每天运行检查其星期日是否发送每周报告,如果今天是月份的第15个月,那么双月报告以及月份的最后一天,然后是月度报告。条件看起来像这样:Rails 4:检查今天是星期日,月的第15天还是月的最后一天

if sunday? 
    # send weekly 
elsif 15th of month 
    # send Bi-monthly 
elsif last_day_of_month 
    # send Monthly 
end 

如何检查其星期日,月的15日和月的最后一天?

回答

6

Rails有这类日期计算的许多有趣的方法:

today = Date.today 

if today.sunday? 
    # send weekly 
elsif today.day == 15 
    # send bi-monthly 
elsif today == today.end_of_month 
    # send monthly 
end 
+0

感谢,正是我需要的。 – Arif

+0

在纯Ruby中,'if'和第一个'elsif'子句是相同的。最后一个需要Rails的一部分,但可以用'elsif today == Date.new(today.year,today.mon,-1)'替换,这是纯Ruby。 –

相关问题