【问题标题】:Converting Unix timestamp to Locale timezone将 Unix 时间戳转换为 Locale 时区
【发布时间】:2011-05-05 23:56:28
【问题描述】:

全部,

如何将 unix 时间戳转换为本地时区的日期和时间。对于时间戳 = 1303374724716,PHP 的date ('r', $timestamp) 函数为我提供Sun, 16 May 2032 22:11:37 +0000epoch converter 正确转换为
GMT: Thu, 21 Apr 2011 08:32:04 GMT
Your timezone: Thu Apr 21 2011 04:32:04 GMT-0400 (Eastern Daylight Time)

我看过 php.ini 文件,默认时区是 UTC。我不明白为什么该值甚至与 GMT/UTC 时间不匹配。谁能帮我转换为我的本地时区,即 New_York。

【问题讨论】:

    标签: php unix-timestamp


    【解决方案1】:

    那是因为给你的时间戳是以毫秒为单位的。

    做:

    $timestamp = floor(1303374724716/1000);
    

    一切都会按预期进行。

    【讨论】:

      【解决方案2】:

      文档说:

      timestamp 是可选的,默认为 time() 的值。

      如果你跑

      print time();
      

      你会得到一个类似1304640077的号码。

      请注意,它比您尝试传递的数字小 1000 倍。

      换句话说,您应该以秒为单位传递一个值,而不是毫秒。

      要设置时区,请使用date_default_timezone_set,例如

      date_default_timezone_set('America/New_York');
      

      或在 php.ini 文件中设置date.timezone

      【讨论】:

        猜你喜欢
        • 2013-05-20
        • 2017-04-25
        • 2015-10-07
        • 2021-12-18
        • 2013-04-07
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        • 2020-10-19
        相关资源
        最近更新 更多