代码之家  ›  专栏  ›  技术社区  ›  Moon

DateTime->格式(“U”)不返回带有时区信息的值

  •  0
  • Moon  · 技术社区  · 13 年前

    在PHP5.2中,我使用以下代码从DateTime对象中获取时间戳。

    $dateTime = new DateTime("now", new DateTimeZone("America/Los_Angeles") );
    
    echo $dateTime->format("U");
    

    问题是 格式(“U”) 只需返回服务器时间戳,即UTC。

    如何从太平洋时区(洛杉矶)返回时间戳?

    2 回复  |  直到 13 年前
        1
  •  9
  •   xdazz    13 年前

    你对时间戳的概念不正确,时间戳是 与时区无关 ,定义为 自1970年1月1日协调世界时(UTC)午夜以来经过的秒数 .

        2
  •  0
  •   cre8value    13 年前

    尝试在PHP脚本的顶部设置时区。我认为时间戳总是UTC。使用date()函数将其格式化为您需要的格式。

        // set timezone to pacific time
        date_default_timezone_set('America/Los_Angeles');
    
    推荐文章