将 Unix 时间戳转换为 Php 中的日期

Har*_*ari 2 php unix-timestamp zend-framework2

在发布此内容之前,我已经在 stackoverflow 中提到了这些问题。就我而言,我需要将 1426023505154 转换为日期格式。为了确保时间戳有效,我检查了http://www.epochconverter.com。我用这些代码进行转换。但这不起作用:

date_default_timezone_set('Asia/Calcutta');
$date = new DateTime();
$date->setTimestamp(1426023505154);
echo $date->format('U = Y-m-d H:i:s') ;
echo gmdate("Y-m-d\TH:i:s\Z", 1426023505154);
echo echo date('d-m-Y', 1426023505154);
Run Code Online (Sandbox Code Playgroud)

但所有这些都会导致错误的结果,例如:

  1. 47158-11-20 21:49:14

  2. 20-11-47158

  3. 47158-11-20T16:19:14Z

请让我知道如何解决这个问题。谢谢

Mar*_*tin 7

问题是你的时间戳以毫秒为单位并$date->setTimestamp使用秒,你可以通过除以 1000 来解决这个问题

$date = new DateTime();
$value = 1426023505154;
$date->setTimestamp($value/1000);
Run Code Online (Sandbox Code Playgroud)