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