Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/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转换时间戳_Php_Timestamp - Fatal编程技术网

用PHP转换时间戳

用PHP转换时间戳,php,timestamp,Php,Timestamp,我正在与一家外部供应商合作,该供应商正在对我的服务器执行HTTP GET以提交交付报告。除了我无法将时间戳转换为本地格式外,所有功能都正常工作。提交的时间戳如下所示: Mon, 15 Aug 2005 15:51:01 +0000 然后我需要在本地时区转换成不同的格式。这是我当前的代码: date_default_timezone_set('UTC'); $ts = $_GET['skebby_date_time']; $date = DateTime::createFromFormat('D

我正在与一家外部供应商合作,该供应商正在对我的服务器执行HTTP GET以提交交付报告。除了我无法将时间戳转换为本地格式外,所有功能都正常工作。提交的时间戳如下所示:

Mon, 15 Aug 2005 15:51:01 +0000
然后我需要在本地时区转换成不同的格式。这是我当前的代码:

date_default_timezone_set('UTC');
$ts = $_GET['skebby_date_time'];
$date = DateTime::createFromFormat('D, d M y H:i:s O', $ts);
$date->setTimeZone(new DateTimeZone("Australia/Sydney"));
$fmTimestamp = $date->format('m/d/Y h:i:s A');
这当前生成了一个致命错误:对此行的非对象调用成员函数setTimeZone():

$date->setTimeZone(new DateTimeZone("Australia/Sydney"));
我对其他时间戳使用了类似的代码,因此不确定我在这一点上做错了什么。

->setTimeZone()
方法失败,因为
$date
不是有效的
DateTime
对象

由于您设置的格式,它无法成为有效的
DateTime
对象

在给定的当前格式中,其较小的
y
,对应于两位数字表示:

Mon, 15 Aug 2005 15:51:01 +0000
D,   d  M   y    H:i:s    O
但是您已经给出了与大的
Y
(4位)相对应的
2005
,因此它应该是:

D, d M Y H:i:s O