【问题标题】:PHP date timestampPHP日期时间戳
【发布时间】:2014-07-07 15:23:36
【问题描述】:

我对 PHP date() 函数在将其转换为 Unix 时间戳时的工作方式有疑问。

我使用date() 函数以July-7-2014. 的形式创建了一个日期。当我获得该日期的Unix 时间戳时,我希望它与07 July 2014 00:00:00 GMT 对应。相反,我得到的时间戳对应于07 July 2014 20:14:00 GMT

我真正要问的是:为什么时间戳给我20:14:00 时、分、秒而不是00:00:00

【问题讨论】:

  • date() 不创建日期;它将时间戳格式化为(对人类而言)类似于日期的字符串......现在你如何获得这个日期的 unix 时间戳?你在使用 strtotime() 还是什么?
  • 您的问题并不完全清楚,因为您没有显示将字符串转换为 UNIX 时间戳的部分。但是,答案很可能是strtotime,它会替换当前时间的所有缺失信息。您需要澄清为什么在您的脑海中00:00:0020:14:00 更有效。
  • 正如我在最后一部分所说的那样,我的评论被删除了。
  • @deceze 我目前使用$completedDate = new DateTime($date); $date = $completedDate->getTimestamp(); 来获取时间戳,因为strtotime 文档说不建议使用strtotime 进行数学运算。虽然我尝试了strtotime,但这给了我相同的结果。 00:00:00 不一定比 20:14:00 更有效,但我不明白为什么它给了我那个时间。

标签: php datetime unix-timestamp


【解决方案1】:

请看这里。

convert unix timestamp php

unix 时间戳给出了服务器的当前时间。

【讨论】:

    【解决方案2】:

    我为任何想知道的人找到了解决方案。出于某种原因,当使用使用月份全名的date() 格式(例如我使用的date(F-j-Y) 格式)时,时间戳开始表现得有些奇怪。我尝试使用date(m-d-Y) 格式(07-07-2014),时间戳返回了预期的00:00:00 小时、分钟和秒值。我不确定它是否打算让该格式的日期返回任意小时、分钟和秒,但我发现了为什么会得到这些结果。

    【讨论】:

      猜你喜欢
      • 2013-06-16
      • 1970-01-01
      • 2011-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      • 2016-04-05
      • 1970-01-01
      相关资源
      最近更新 更多