android - Android 正在读取 SQLite 中的 iOS 日期(NSDate)

标签 android ios sqlite nsdate

在 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/

相关文章:

android - 在 Android 中重复将布局扩展为自定义适配器 View 的 subview

android - java.util.concurrent.TimeoutException : android. view.Surface.finalize() 10 秒后超时

database - 如何在Flutter中不同时间在Sqlite数据库中创建多个表

android - 如何通过共享 Intent 共享整个 Android 应用程序

php - 使用 php 将值插入 mysql

ios - 如何清除 NSMutableAttributedString 中的属性?

objective-c - 查找字符串中出现的次数

ios - 为什么 TableView 在某些行上添加了不可见的分隔符?

android - 我应该在我的 Android 应用程序中使用什么数据库方法

SQLite 删除表别名