DateTime类错误地转换了Timestamp?

时间:2012-10-18 20:30:41

标签: php datetime timestamp converter

以下代码产生了错误的时间戳转换(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,所以我做错了什么?代码非常简单,所以我无法理解。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

Form PHP DOC

  • n =一个月的数字表示,没有前导零
  • d =月中的某天,带前导零的2位数字

你应该替换

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

使用

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