【发布时间】:2012-08-05 05:45:08
【问题描述】:
我正在通过用于 ruby on rails 的 evernote gem 访问 Evernote API,并将对象(笔记本、标签、笔记等)存储在 Postgresql 数据库中。
Evernote 返回如下所示的时间戳:
- 1344141917000
- 1344141967000
- 1344138641000
evernote api documentation 表示这是自基准时间 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数
我在 Rails 控制台中进行了以下练习,试图重建日期。
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
我在这里遗漏了什么吗?最后三个零是怎么回事?我是否必须解析和切分 evernote 时间戳值,然后将它们添加到 1970 基数中,还是有更简单的方法?
另外,存储这些值的最佳 Postgresql 数据类型是什么?
提前感谢您的帮助。
【问题讨论】:
标签: ruby-on-rails postgresql datetime timestamp evernote