Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法将DateTime转换为小时_Php_Wordpress - Fatal编程技术网

Php 无法将DateTime转换为小时

Php 无法将DateTime转换为小时,php,wordpress,Php,Wordpress,我正在尝试将日期时间转换为小时,以便今天的日期和时间与数据库的日期和时间匹配 date_default_timezone_set("Pacific/Fiji"); today = date('Y-m-d H:i'); // Returns 2014-05-01 11:01 $date = DateTime::createFromFormat('Y-m-d h:i', '2014-05-02 11:05'); echo $date->format('Y-m-d H:i'); // Retu

我正在尝试将日期时间转换为小时,以便今天的日期和时间与数据库的日期和时间匹配

date_default_timezone_set("Pacific/Fiji");
today = date('Y-m-d H:i'); // Returns 2014-05-01 11:01

$date = DateTime::createFromFormat('Y-m-d h:i', '2014-05-02 11:05');
echo $date->format('Y-m-d H:i'); // Returns 2014-05-02 11:05

我在这段代码中犯了什么错误,它返回了
2014-05-02 11:05
,而它应该返回
2014-05-01 23:05
您在斐济时区将
2014-05-02 11:05
保存到
$date
。之后,您将在斐济时区中显示日期,因此当然不会进行任何更改

我不太理解你的问题,但从你提供的代码来看,我猜你可能想做的是:

$tzFiji = new DateTimeZone('Pacific/Fiji');
$tzBerlin = new DateTimeZone('Europe/Berlin');
$tzCurrent = new DateTimeZone(date_default_timezone_get());

$date = DateTime::createFromFormat('Y-m-d h:i', '2014-05-02 11:05', $tzFiji);

echo $date->format('Y-m-d H:i'); # date in Fiji's timezone
$date->setTimezone($tzBerlin);
echo $date->format('Y-m-d H:i'); # date in Berlin's timezone
$date->setTimezone($tzCurrent);
echo $date->format('Y-m-d H:i'); # date in php's currently set timezone