我有一个问题,将字符串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()函数进行转换时,它是正确的。
请帮帮我。非常感谢。
答案 0 :(得分:1)
设置您当地的时区。
您可以使用date_default_timezone_set()
在PHP脚本中执行此操作.http://php.net/manual/en/function.date-default-timezone-set.php
或者您可以通过更改默认为UTC的php.ini
值在date.timezone
配置中执行此操作。