【问题标题】:convert unix timestamp to date in Php在 PHP 中将 unix 时间戳转换为日期
【发布时间】:2015-05-06 04:28:25
【问题描述】:

在发布之前,我已经在 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);

但所有结果都是错误的结果,例如:

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

  2. 20-11-47158

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

请告诉我如何解决这个问题。 谢谢

【问题讨论】:

  • 试试echo date('d-m-Y');而不是除了第一行之外的所有这些

标签: php zend-framework2 unix-timestamp


【解决方案1】:

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

$date = new DateTime();
$value = 1426023505154;
$date->setTimestamp($value/1000);

【讨论】:

  • 当我运行此代码时,我遇到了可捕获的致命错误:DateTime 类的对象无法转换为字符串错误。但是从您的回答中,我找到了另一个解决方案: $value = 1426023505154; $value = round($value/1000);回显日期('d-m-Y',$值);谢谢
【解决方案2】:

试试 -

echo date('Y-m-d H:i:s', 1426023505154 / 1000 );
// dividing by 1000 because the timestamp is in microseconds

【讨论】:

    猜你喜欢
    • 2011-06-20
    • 2020-10-19
    • 2020-12-23
    • 2016-04-24
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多