php - 在 PHP 中转换时间戳

标签 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, d M y H:i:s O', $ts);
$date->setTimeZone(new DateTimeZone("Australia/Sydney"));
$fmTimestamp = $date->format('m/d/Y h:i:s A');

当前正在生成 fatal error :在这一行的非对象上调用成员函数 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

Out

关于php - 在 PHP 中转换时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28019460/

相关文章:

当我知道格式时,php 从字符串中获取时间戳

php - 来自 PHP 脚本的 HTML5 音频

java - 高流量环境下使用kafka producer时的连接管理

php - 如何在不在查询中定义的情况下获取所有表列?

javascript - js中如何验证时间戳

sql - 查询中的多列排序

php - 遇到 PHP 错误 严重性 : Core Warning Message: Module 'ffmpeg' already loaded Filename: Unknown Line Number: 0 Backtrace

php - 如何允许远程访问我的移动 WAMP 服务器 (Android)

python - 在 Pandas 中方便地将 DatetimeIndex 拆分为日期和时间 MultiIndex

java - 使用Java应用程序录制时录制音频样本的时间戳