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

时间:2012-12-28 02:11:38

标签: php mysql

我有一个问题,将字符串datetime转换为php中的时间戳。

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

echo $time; //it returns 1356627763

当我将该整数值转换回日期时间时,它是不正确的(2012年12月28日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()函数进行转换时,它是正确的。

请帮帮我。非常感谢。

1 个答案:

答案 0 :(得分:1)

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

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