Как проверить что-то 1 день или новее с помощью объекта Time? (Рубин) - PullRequest
1 голос
/ 17 декабря 2011

Как проверить, находится ли текущий объект времени в НА МОРЕ 1-дневного возраста. Я только хочу сохранить его в базе данных, если ему 24 часа или новее. если это облегчит, я бы тоже принял что-нибудь «вчера», независимо от текущего времени. Как только он переключится на следующий день, «вчера» также изменится, поэтому на MOST это будет 47 часов 59 минут.

Формат времени, который у меня есть: 2011-12-16 17:44:01 -0800

Ответы [ 2 ]

1 голос
/ 17 декабря 2011
class Time
    def older_than_day?; Time.new - 86400 > self end
end

p Time.new("2000-1-1 00:00:00 -0800").older_than_day?
# => true
p Time.new.older_than_day?
# => false
0 голосов
/ 17 декабря 2011

Немного более читабельно: если вы используете Rails (а вы могли бы , поскольку вы упоминаете базы данных), вы можете использовать метод day, чтобы написать его так...

class Time
    def older_than_day?; (Time.new - 1.day) > self end
end

На самом деле, использование day делает чтение таким простым, что я не могу определить метод.Я мог бы просто написать такой код на месте ...

if myTime > (Time.now - 1.day)
  doSomething
else
  doSomethingElse
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...