在 PHP 中转换时间戳
Converting timestamp in PHP
我正在与外部供应商合作,该供应商正在对我的服务器执行 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
但是你给的2005
对应的是大Y
(4位),所以应该是:
D, d M Y H:i:s O
我正在与外部供应商合作,该供应商正在对我的服务器执行 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
但是你给的2005
对应的是大Y
(4位),所以应该是:
D, d M Y H:i:s O