0

以下代码产生了时间戳 ( 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,所以我做错了什么?代码很简单,所以我无法弄清楚。

4

2 回答 2

2

您正在使用格式'F n, Y'n是月份的数字表示形式(10 月是第 10 个月)。使用d(前导零)或j(无前导零)。请参阅PHPdate()参考

echo $dateTime->format('F d, Y');
于 2012-10-18T20:34:33.187 回答
2

形成 PHP 文档

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

你应该更换

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

  $dateTime->format('F d, Y');
于 2012-10-18T20:35:16.463 回答