otwarchive-symphonyarchive/app/helpers/date_helper.rb

37 lines
1.1 KiB
Ruby
Raw Normal View History

2026-03-11 22:22:11 +00:00
module DateHelper
# Use time_ago_in_words if less than a month ago, otherwise display date
def set_format_for_date(datetime)
return "" unless datetime.is_a? Time
if datetime > 30.days.ago && !AdminSetting.enable_test_caching?
time_ago_in_words(datetime)
else
date_in_user_time_zone(datetime).to_date.to_formatted_s(:rfc822)
end
end
def date_in_user_time_zone(datetime)
if logged_in? && current_user.preference.time_zone
zone = current_user.preference.time_zone
begin
date_in_user_time_zone = datetime.in_time_zone(current_user.preference.time_zone)
rescue
datetime
end
else
date_in_user_time_zone = datetime
end
end
# show date in the time zone specified
# note: this does *not* append timezone and does *not* reflect user preferences
def date_in_zone(time, zone = nil)
zone ||= Time.zone.name
return nil if time.blank?
time_in_zone = time.in_time_zone(zone)
I18n.l(time_in_zone, format: :date_short_html).html_safe
# i18n-tasks-use t('time.formats.date_short_html')
end
end