Подсчитайте сколько дней с момента создания - PullRequest
0 голосов
/ 13 июня 2018

Допустим, запись имеет метку времени метки create_at Fri, 16 Feb 2018 18:40:53 UTC +00:00, и я хочу узнать количество дней, прошедших с текущего времени.Как мне этого добиться?

Вот что я пробовал:

(Fri, 16 Feb 2018 18:40:53 UTC +00:00 - Time.now).to_i

Но это не работает.Любая помощь в этом была бы отличной.Спасибо

Ответы [ 3 ]

0 голосов
/ 13 июня 2018

Вы можете использовать

require 'time'
created_at = 'Fri, 16 Feb 2018 18:40:53 UTC +00:00'
(Time.now - Time.parse(created_at)).to_i / 86400
0 голосов
/ 13 июня 2018

В рельсах Если вы получаете метку времени для модели User из базы данных (не строка метки времени для анализа):

seconds_from_creation = Date.today.to_time - user.created_at.to_time

Или напрямую конвертируете в дни (to_iокругляет до целого числа, проверяет, подходит ли вам или настраиваете):

((Date.today.to_time - user.created_at.to_time)/(24*60*60)).to_i

В представлении вы можете использовать следующее, которое возвращает строку:

time_ago_in_words user.created_at
# => 10 days (in my case)
0 голосов
/ 13 июня 2018

Почти, но Руби не понимает, как вы пишете дату.

require 'date'
(DateTime.now - DateTime.new(2018, 2, 16, 18, 40, 53, 0)).to_i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...