Я получаю доступ к API Evernote через драгоценный камень evernote для ruby on rails и сохраняю объекты (блокноты, теги, заметки и т. д.) в базе данных Postgresql.
Evernote возвращает метки времени, которые выглядят следующим образом:
- 1344141917000
- 1344141967000
- 1344138641000
В документации API Evernote указано, что это количество миллисекунд, прошедших с момента базовое время 1 января 1970 г., 00:00:00 по Гринвичу
Я провел следующее упражнение в консоли рельсов, пытаясь восстановить дату.
evernote_timestamp_base = Time.gm(1970,01,01,00,00,00)
=> 1970-01-01 00:00:00 UTC
evernote_timestamp_base + 1344138641000
=> 44564-01-22 04:43:20 UTC
Определенно не прав. Но отбрасывание этих последних трех нулей дает правильную дату:
evernote_timestamp_base + 1344138641
=> 2012-08-05 03:50:41 UTC
Я что-то упустил здесь? Что делать с этими последними тремя нулями? Придется ли мне анализировать и нарезать значения timstamp evernote, а затем добавлять их в базу 1970 года, или есть более простой способ?
Кроме того, какой тип данных Postgresql лучше всего подходит для хранения этих значений?
Заранее спасибо за вашу помощь.