Я пытаюсь преобразовать временную метку UNIX в формат iso8601.Временная метка UNIX to iso8601 в ruby
напр:
UNIX timestamp "1483050457000"
как преобразовать его в формат ISO8601 времени в рубине ??
Я пытаюсь преобразовать временную метку UNIX в формат iso8601.Временная метка UNIX to iso8601 в ruby
напр:
UNIX timestamp "1483050457000"
как преобразовать его в формат ISO8601 времени в рубине ??
require 'time'
Time.at("1483050457000".to_i).iso8601
#=> "48965-12-30T12:16:40-08:00"
require 'time'
имеет важное значение здесь. Без него вы обнаружите, что у вас есть доступ к основным методам Time
. Запустите Time.instance_methods.sort
, чтобы перечислить их. При первом выполнении require 'time'
в класс Time
добавляются следующие методы экземпляра: => [:httpdate, :iso8601, :rfc2822, :rfc822, :to_date, :to_datetime, :to_time, :xmlschema]
.
Вы, кажется, получать ваше эпохальное метку времени в виде строки, так что следующий, вероятно, будет самым легким для вас:
DateTime.strptime("1483050457000",'%s')
Примечания: Вы, кажется, поставили неверный штамп времени в вашем вопрос, в противном случае я бы включил вывод. Попробуйте этот код с действительной меткой времени, и вы должны получить то, что хотите.