Как перевести время в секундах в стандартный формат времени в рельсах? - PullRequest
2 голосов
/ 27 октября 2010

Как преобразовать время в секундах в стандартный формат времени в рельсах. Например, 1971 секунда должна отображаться как 0: 33: 25

Ответы [ 2 ]

2 голосов
/ 27 октября 2010

Там нет помощника для вас в рельсах.Но довольно легко написать свой собственный:

def to_dot_time(s)
  h = s / 3600
  s -= h * 3600

  m = s / 60
  s -= m * 60

  [h, m, s].join(":")
end

И пример:

>> to_dot_time(1971)
=> "0:32:51"
0 голосов
/ 13 июля 2014

Несмотря на то, что ответ Арияна в порядке, просто для справки я указываю на другой, указанный в Документах класса времени Ruby-doc (прокрутите вниз, найдите Дополнительные примечания).Короче говоря, существует метод для преобразования экземпляра Numeric в Time:

Time.at(number)

, который, в свою очередь, может быть представлен с использованием strftime "%T".Предостережение: насколько я вижу, он не будет показывать экземпляры Time с более чем 23 часами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...