ios - 这是什么类型的日期格式?以及如何转换它?
问题描述
我在一个名为 Memo Lite 的旧 iOS 应用程序使用的 SQL 数据库中发现了奇怪的日期代码。该列被标记为 LMT,这可能是上次修改时间的缩写。它们是如何构造的以及如何将它们转换为可读格式,例如 yyyy-mm-dd HH:mm:ss?我知道 Unix 时间以及 Google 表格如何处理时间。
日期/时间代码示例:
357931095.942149 = 2012-05-05
330432567.859129 = 2011-06-22
293964817.803674 = 2010-04-26
我不知道格式是否有时间,它看起来是这样但它没有显示在应用程序中。
日期/时间格式代码,参考示例: https ://support.google.com/docs/answer/3094139?hl=en
解决方案
一个小数学表明它是一个纪元以来的秒数。不是通常的 1970-01-01,而是 2001-01-01。
- 2001-01-01 + 293964817 秒 = 2010-04-25 08:53:37
- 2001-01-01 + 330432567 秒 = 2011-06-22 10:49:27
- 2001-01-01 + 357931095 秒 = 2012-05-05 17:18:15
小数部分是微秒。例如,293964817.803674 是 2010-04-25 08:53:37.803674。
你提到它是一个 iOS 应用程序,所以它可能是CFAbsoluteTime。
推荐阅读
- php - Symfony 缓存:清除错误毁了我的整个项目
- c# - 选中列表中的复选框时如何触发事件
- python - 基于布尔事件构建信号的函数
- r - 即使它们不在我的 R 列数据集中,仍然在我的时间序列箱线图中得到 NA 分组
- java - 使用 Java 优化数据库插入的最佳方法
- sorting - 交换和排序 JavaPairRDD
按价值 - svg - 带有路径 fill="url(xxx)" 的 SVG 在 Nuxt.js 中不起作用
- vb.net - 是否有 Microsoft Visual Basic Power Packs 的替代品?
- java - RxJava:使用反应式方法处理命令式任务
- javascript - 如何将压缩的 base64 图像转换为文件或 Blob 以进行 Firebase 上传 (JavaScript)