如何判断时间/日期是否为今天,红宝石?

时间:2010-02-25 08:13:53

标签: ruby-on-rails ruby

我有一个解决方案,我想判断一下return_service_date是否是今天,怎么做?

这是我的代码(rails):

if settlement.return_service_date && 
   settlement.return_service_date.to_s(:date) == Time.now.to_s(:date)

有更好的方法吗?

2 个答案:

答案 0 :(得分:22)

在Rails中,you can do

settlement.return_service_date.today?

答案 1 :(得分:8)

对于没有使用rails的每个人,我的带有Time的纯红宝石解决方案如下所示,如果你有Dates而不是Times,你可以用.to_time()

转换它们。
    # current time
    time = Time.new()

    # some time
    some_time = Time.new() + 7550

    # set beginning of today
    today_start =  Time.new(time.year,time.month,time.day)

    # set ending of today
    today_end =  today_start + 86399

    # check if some_time is in between today start and end
    puts (today_start..today_end).cover?(some_time)

根据您当前的时间打印为真(如果您的日期仍然至少还剩7550秒)或者为假。