1

我在将字符串日期时间转换为 php 中的时间戳时遇到问题。

$time = strtotime('2012-12-28 01:02:43');

echo $time; //it returns 1356627763

当我将该整数值转换回日期时间时,它不正确(28/12/2012 00:02:43)。基本上,已经晚了1个小时。

my_format_datetime(strtotime('2012-12-28 01:02:43'));

下面是我的 my_format_datetime 函数:

> function my_format_datetime($unix)
>         {
>             if ($unix == '' || !is_numeric($unix))
>             {
>                     $unix = strtotime($unix);
>             }
>             else
>             {
>                 $timezone = 3600*(DEFAULT_GMT + date("0"));
>                 $unix = gmdate("d/m/Y H:i:s", $unix + $timezone);
>             }
>             
>             return $unix;
>         }

但是当我使用 time() 函数进行转换时,它是正确的。

请帮我。非常感谢。

4

1 回答 1

1

设置您当地的时区。您可以使用date_default_timezone_set().http://php.net/manual/en/function.date-default-timezone-set.php在 php 脚本中执行此操作

或者您可以php.ini通过更改date.timezone默认为 UTC 的值在配置中执行此操作。

于 2012-12-28T02:37:49.487 回答