Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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:如何根据来自API响应(比如SOAP请求)的时区计算日期_Php_Date_Datetime_Soap - Fatal编程技术网

PHP:如何根据来自API响应(比如SOAP请求)的时区计算日期

PHP:如何根据来自API响应(比如SOAP请求)的时区计算日期,php,date,datetime,soap,Php,Date,Datetime,Soap,由此,我如何根据时区集计算日期。 我尝试了以下方法,因为它是基于时区计算时间的,但是 strotime($date\u frm\u soap)我们如何将其转换为UTC日期格式 帮助我的链接: 您可以使用DateTime对象,它非常灵活,几乎可以识别您使用的任何数据格式。然后将时区设置到DateTime对象中,然后以希望看到的格式打印格式化日期 $date_frm_soap = '2015-12-16T22:14:04-0700'; date_default_timezone_set("PS8P

由此,我如何根据时区集计算日期。 我尝试了以下方法,因为它是基于时区计算时间的,但是
strotime($date\u frm\u soap)
我们如何将其转换为UTC日期格式

帮助我的链接:


您可以使用DateTime对象,它非常灵活,几乎可以识别您使用的任何数据格式。然后将时区设置到DateTime对象中,然后以希望看到的格式打印格式化日期

$date_frm_soap = '2015-12-16T22:14:04-0700';
date_default_timezone_set("PS8PDT");

谢谢你,里格斯。如果我的时间戳如下所示。我如何管理它。让我们说“2015-12-16 07:00:00等/GMT”试试看,日期格式也会被日期时间识别,就像你问题中的日期一样。
<?php
$date_frm_soap = '2015-12-16T22:14:04-0700';

// load the DatTime object with your date
$date = new DateTime($date_frm_soap );

// tell DateTime we want to use UTC
$date->setTimezone(new DateTimeZone('UTC'));

echo  'in date =  '. $date_frm_soap . PHP_EOL;

// output the data in which ever format you want to see it in
echo  'UTC date = '. $date->format('Y-m-d H:i:s');
in date =  2015-12-16T22:14:04-0700
UTC date = 2015-12-17 05:14:04