Даты родственника формата

Существует ли рубиновый драгоценный камень, который отформатирует даты относительно текущего времени? Я хочу вывод как "Завтра в 17:00", "В четверг на следующей неделе в 17:15", я не слишком обеспокоен точным выводом, пока это - относительные даты на естественном языке

5
задан Jeffrey Aylesworth 20 April 2010 в 03:03
поделиться

1 ответ

Если у вас есть рельсы, я думаю, что ActionView :: Helpers :: DateHelper # distance_of_time_in_words поможет.

require 'rubygems'
require 'action_view'
include ActionView::Helpers::DateHelper

from_time = Time.now
distance_of_time_in_words(from_time, from_time + 50.minutes)        # => about 1 hour
distance_of_time_in_words(from_time, 50.minutes.from_now)           # => about 1 hour
distance_of_time_in_words(from_time, from_time + 15.seconds)        # => less than a minute
distance_of_time_in_words(from_time, from_time + 15.seconds, true)  # => less than 20 seconds
distance_of_time_in_words(from_time, 3.years.from_now)              # => over 3 years
distance_of_time_in_words(from_time, from_time + 60.hours)          # => about 3 days
distance_of_time_in_words(from_time, from_time + 45.seconds, true)  # => less than a minute
distance_of_time_in_words(from_time, from_time - 45.seconds, true)  # => less than a minute
distance_of_time_in_words(from_time, 76.seconds.from_now)           # => 1 minute
distance_of_time_in_words(from_time, from_time + 1.year + 3.days)   # => about 1 year
distance_of_time_in_words(from_time, from_time + 4.years + 9.days + 30.minutes + 5.seconds) # => over 4 years

to_time = Time.now + 6.years + 19.days
distance_of_time_in_words(from_time, to_time, true)     # => over 6 years
distance_of_time_in_words(to_time, from_time, true)     # => over 6 years
distance_of_time_in_words(Time.now, Time.now)           # => less than a minute

В случае относительно текущего времени используйте distance_of_time_in_words_to_now вместо distance_of_time_in_words .

Если ваше приложение основано на рельсах, просто используйте distance_of_time_in_words , distance_of_time_in_words_to_now , time_ago_in_words в поле зрения.

7
ответ дан 15 December 2019 в 00:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: