2013-02-01 34 views
0

从Android开始,我正在阅读最初由iOS创建的SQLite3数据库(通过NSDate)。我可以读取表格和值就好了,但有一个TIMESTAMP问题...Android中读取SQLite的iOS日期(NSDate)

A TIMESTAMP字段显示数值,当查看SQLite数据库浏览器。 例如,在数据库中找到值,我认为这对应于2013年3月17日星期六,UTC/GMT + 0上午6:00。

如何解释Android(Java)的此日期?典型地,时间戳应该是从1970-01-01开始的秒数(或甚至毫秒)。这个日期甚至还没有接近...

当我发出下面的查询,我得到“1982年3月16日” ......

SELECT strftime('%Y-%m-%d', datetime(385192800, 'unixepoch')) AS somedate 
FROM SOMETABLE LIMIT 1 

它不能是一个典型的UNIX时间戳。什么iOS的NSDate是否坚持SQLite3?

+0

当您使用Google for iOS时间戳和NSDate时会发生什么? – Simon

+0

没有看到2001年的参考年。Spathi的链接也非常有帮助。 – MiStr

回答

2

核心数据根据参考日期(2001年1月1日)存储时间戳。有关更多信息,请参阅this discussion

PS:你的问题没有提到你指定的时间戳的年份。

+0

编辑:添加年份(2013)。谢谢! – MiStr