【问题标题】:Is there a difference in the timestamp formats used by iOS and PHP?iOS 和 PHP 使用的时间戳格式有区别吗?
【发布时间】:2011-06-07 23:54:37
【问题描述】:

我从 iPhone 上的整合数据库中获得了一些时间戳(最近来自位置跟踪“丑闻”的时间戳)。我做了一个小的 PHP 页面,将它们转换为格式良好的日期,然后输出一个列表,但我得到的是 1980 年的日期。

他们使用不同的系统吗?还是consolidated.db 的数据不正确?

时间戳示例:316777502 我的代码:$date = date("t M Y", $timestamp);

【问题讨论】:

  • 您确定没有负时间戳吗?请分享一张显示 1935 年的照片。
  • 对不起,我刚刚检查了一下,这是我在编写读取数据库的脚本时添加的一些不正确的数据。所有其他的都是 1980 年的,而我的 iPhone 几乎正好用了一年,所以我想可能是 30 年的偏移。

标签: php ios datetime formatting unix-timestamp


【解决方案1】:

我发现一篇文章详细介绍了可以查看数据的手动过程:

http://dropstones.blogspot.com/2011/04/extracting-iphone-ios4-location-data-in.html

根据那篇文章,时间戳不是从 1970 年 1 月 1 日开始的秒数的传统时间戳,而是基于 2001 年 1 月 1 日的秒数(因此,有 31 年的偏移量)。我无法确认这是否属实,但如果我们遵循这样的假设,我们必须将 31 年的秒数 (978264705) 添加到时间戳,以将其更改为传统时间戳,给出从 1/ 开始的秒数1/1970。因此,您发布的行将被替换为:

$timestamp += 978264705;
$date = date("t M Y", $timestamp);

【讨论】:

  • 我问这个问题后不久发现它们实际上是 2001 年的。感谢您的帮助,看起来是一篇不错的文章。希望这个页面现在可以帮助下一个人遇到这个问题。
  • 它确实帮助了下一个人...... :)
猜你喜欢
  • 2015-01-25
  • 2014-04-14
  • 1970-01-01
  • 2011-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-25
相关资源
最近更新 更多