date() 函数时间戳 returns 错误的日期

date() function timestramp returns wrong date

当我将时间戳参数提供给 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;

结果 4 月 14 日星期日 47546

Epoch Converter 检查显示时间戳为 2015 年 7 月 30 日星期四 09:30:00 GMT

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

您需要将日期除以 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