我正在通过用于 ruby on rails 的 evernote gem 访问 Evernote API,并将对象(笔记本、标签、笔记等)存储在 Postgresql 数据库中。
Evernote 返回如下所示的时间戳:
- 1344141917000
- 1344141967000
- 1344138641000
evernote api 文档说这是自 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 timstamp 值,然后将它们添加到 1970 基数中,还是有更简单的方法?
另外,存储这些值的最佳 Postgresql 数据类型是什么?
在此先感谢您的帮助。