【问题标题】:date() function timestramp returns wrong datedate() 函数时间戳返回错误的日期
【发布时间】:2015-10-23 05:35:19
【问题描述】:

当我将时间戳参数提供给 php date() 时,会返回不正确的日期。格式正确,但结果不如预期。

src 来自 Hubspot json。

public 'publish_date' => int 1438079400000

$feed = (object) $this->json;
    $string = '';

    if( $feed->total_count > 0):
        foreach( $feed->objects as $item ):
            $item = (object) $item;
            date_default_timezone_set('Europe/London');
            ob_start();

            ?>
            <?php echo date( 'l jS F Y', $item->publish_date ); ?>
            <?php

            $string .= ob_get_clean();

        endforeach;
    endif;

    return $string;

47546 年 4 月 14 日星期日

的结果

Epoch Converter 检查显示时间戳为 Thu, 30 Jul 2015 09:30:00 GMT

使用不带时间戳的 date() 会返回今天的正确日期。

【问题讨论】:

  • 回显日期('l jS F Y',1438079400000); 1946 年 9 月 21 日星期六 5:10:am

标签: php json date epoch


【解决方案1】:

您需要将日期除以 1000。

1438079400000 -> 14380794000

php > echo date('Y-m-d H:i:s', 1438079400000);
47540-12-03 12:00:00
php > echo date('Y-m-d H:i:s', 1438079400);
2015-07-28 11:30:00

【讨论】:

  • 谢谢。 Hubspot的这个整数的额外粒度是否有原因?
  • 对不起,我的意思是关于时间戳,为什么在毫秒足够精细的情况下还有额外的“0000”。
  • Epoch 以秒为单位,以毫秒为单位。
猜你喜欢
  • 2011-02-06
  • 1970-01-01
  • 2011-09-26
  • 1970-01-01
  • 1970-01-01
  • 2020-11-02
  • 1970-01-01
  • 2021-10-16
  • 2017-10-06
相关资源
最近更新 更多