使用php将字符串日期时间转换为时间戳


Using php convert string datetime to timestamp

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

$time = strtotime('2012-12-28 01:02:43');
echo $time; //it returns 1356627763

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

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()函数转换时,它是正确的。

请帮帮我。非常感谢。

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

或者您可以在php.ini配置中通过更改默认为UTC的date.timezone值来完成。