在 Android 中,我正在阅读最初从 iOS 创建的 SQLite3 数据库(通过 NSDate)。我可以很好地读取表和值,但是有一个 TIMESTAMP 问题...
当查看 SQLite 数据库浏览器时,TIMESTAMP 字段显示一个数值。 例如,在数据库中找到了 385192800 的值,我认为它对应于 2013 年 3 月 17 日星期日,UTC/GMT+0 上午 6:00。
我如何解释 Android (Java) 的这个日期?通常,时间戳应该是从 1970-01-01 开始的秒数(甚至毫秒)。这个日期还差得远……
当我发出下面的查询时,我得到“1982-03-16”...
SELECT strftime('%Y-%m-%d', datetime(385192800, 'unixepoch')) AS somedate
FROM SOMETABLE LIMIT 1
一定不能是典型的 unix 时间戳。iOS 的 NSDate 在持久化到 SQLite3 时做了什么?
最佳答案
核心数据根据引用日期(2001 年 1 月 1 日)存储时间戳。参见 this discussion获取更多信息。
PS:你的问题没有提到你指定的时间戳的年份。
关于android - Android 正在读取 SQLite 中的 iOS 日期(NSDate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14651289/