Если вам понадобится время в определенном формате, вы должны достигнуть значения strftime
. Строка формата, которую вы хотите, это '%m/%d/%Y %H:%M %p'
, руководство, которое я связал выше, объясняет, что означают все спецификаторы формата. Все, что пора-иш в Ruby, Rails или будет иметь strftime
метод, который соответствует Time#strftime
поэтому не имеет значения, если у вас есть Time
, DateTime
, ActiveSupport::TimeWithZone
...
Вы также, кажется, хотят, чтобы преобразовать время для UTC, но есть и способ для этого: utc
.
Собираем их вместе:
t.utc.strftime('%m/%d/%Y %H:%M %p')
Вы действительно не должны использовать to_s
или inspect
на время для чего-нибудь, кроме отладки. Вам лучше пойти прямо на strftime
, чтобы вы получили именно тот формат, который вам нужен.
Это переменная 'Object :: Time' или' Object :: Date :: DateTime'? – DoubleV
@DoubleV - это объект ActiveSupport :: TimeWithZone', это атрибуты ActiveRecord. – Frozenna
На самом деле, Rails делает все уже, но я разобрал плохой формат даты с клиентской стороны, мой плохой. – Frozenna