Как судить, есть ли время / дата сегодня в рубине? - PullRequest
11 голосов
/ 25 февраля 2010

У меня есть урегулирование, я хочу судить, если return_service_date сегодня, как это сделать?

Это мой код (рельсы):

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

Есть ли лучший способ сделать это?

Ответы [ 2 ]

22 голосов
/ 25 февраля 2010

В Rails, вы можете сделать :

settlement.return_service_date.today?
8 голосов
/ 16 августа 2013

Для всех, кто не использует рельсы, мое простое решение ruby ​​с 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)

В зависимости от вашего текущего времени он печатает true (если у вашего дня осталось хотя бы 7550 секунд) или false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...