Ответ 1
Используйте Date.strptime
- но перед этим сначала преобразуйте его в секунды:
sec = ('1379844601000'.to_f / 1000).to_s
Date.strptime(sec, '%s')
//Sun, 22 Sep 2013
Я уверен, что это должно быть простым (возможно, отсутствующим чем-то очевидным), но... У меня есть строка базы данных в миллисекундах, которую я хочу преобразовать в дату в формате Rails в Rails. Фигурный вызов .to_date
был бы моим другом, но он выдавал странную ошибку.
article.date => "1379844601000"
article.date.to_date
NoMethodError: undefined method `div' for nil:NilClass
Может ли кто-нибудь посоветовать правильный способ сделать это?
Используйте Date.strptime
- но перед этим сначала преобразуйте его в секунды:
sec = ('1379844601000'.to_f / 1000).to_s
Date.strptime(sec, '%s')
//Sun, 22 Sep 2013
Преобразуйте его в секундах (milliseconds/1000)
и вызовите Time::at
по результату:
Time.at(1379844601000/1000)
# => 2013-09-22 12:10:01 +0200
Time.strptime(milliseconds.to_s, '%Q')
// %Q - Number of milliseconds since 1970-01-01 00:00:00 UTC.
Time.parse( "1379844601000" ) даст вам дату и время