$date->;setDate不';不起作用


$date->setDate doesn't work

我需要更改日期时间字符串的时区。

这是我的代码:

    $date = new DateTime();
    $date->setTimezone(new DateTimeZone('Europe/Berlin'));
    $date->setDate('2012-04-21');
    $date->setTime('12:42:59');
    echo $date->format('Y-m-d H:i:s');
    $date->setTimezone(new DateTimeZone('UTC'));
    echo $date->format('Y-m-d H:i:s');

第一个回波显示:"2016-01-12 10:40:03"

setDate函数不起作用。

也许有人能帮我?

阅读PHP文档将有助于

setDate()的自变量为:

setDate ( int $year , int $month , int $day )

不是日期字符串

类似于setTime() 的参数

php DateTime setDate函数描述。尝试

$date->setDate(2012, 04, 21);

PHP setDate Docs

setDate ( int $year , int $month , int $day )

PHP setTime文档

setTime ( int $hour , int $minute , int $second )

    $date = new DateTime();
    $date->setTimezone(new DateTimeZone('Europe/Berlin'));
    $date->setDate(2012,04,21);
    $date->setTime(12,42,59);
    echo $date->format('Y-m-d H:i:s');
    echo '<br/>';
    $date->setTimezone(new DateTimeZone('UTC'));
    echo $date->format('Y-m-d H:i:s');

请参阅Eval演示:https://3v4l.org/14mqi