【问题标题】:DateTime class doing wrong conversion of Timestamp?DateTime 类做错误的时间戳转换?
【发布时间】:2012-10-09 09:59:54
【问题描述】:

以下代码产生了错误的时间戳转换 (1350553368):

$dateTime = new DateTime();
$dateTime->setTimeStamp(1350553368);    
echo $dateTime->format('F n, Y');

PHP 将其转换为 2012 年 10 月 10 日http://codepad.viper-7.com/clum0f

但是,该时间戳实际上是 2012 年 10 月 18 日http://www.onlineconversion.com/unix_time.htm

我确定是我,而不是 PHP,那么我做错了什么?代码很简单,看不懂。

【问题讨论】:

  • n 表示没有前导 0 的月份
  • @Programmer - 你为什么不接受其中一个答案?

标签: php datetime timestamp converter


【解决方案1】:

您正在使用格式'F n, Y'n 是月份的数字表示(10 月是第 10 个月)。使用d(前导零)或j(无前导零)。见PHP date() reference

echo $dateTime->format('F d, Y');

【讨论】:

  • 很高兴它成功了!有帮助的别忘了采纳答案哦! ;)
【解决方案2】:

Form PHP DOC

  • n = 月份的数字表示,没有前导零
  • d = 日期,2 位数字,前导零

你应该替换

  $dateTime->format('F n, Y');

  $dateTime->format('F d, Y');

【讨论】:

    猜你喜欢
    • 2015-11-24
    • 2017-06-26
    • 1970-01-01
    • 2013-04-06
    • 2019-12-24
    • 2011-12-18
    • 2021-06-22
    • 2022-01-24
    • 2012-11-09
    相关资源
    最近更新 更多