我正在使用Envato API验证在其网站上进行的购买,并作为API查询的一部分输出的日期/时间格式如下:
Wed May 20 06:37:57 +1000 2015
首先,这是什么格式(有没有名称,还是PHP日期/时间格式?),其次我如何将其转换为不同的格式?
当我使用
strtotime()
函数然后像下面这样使用date()
时,输出似乎错了几个小时。这是因为Envato(澳大利亚)和我(英格兰)之间的时区差异还是我漏掉了什么?$old = strtotime("Wed May 20 06:37:57 +1000 2015");
echo date('Y-m-d H:i:s', $old);
上面的代码输出如下:
2015-05-19 22:37:57
。非常感谢您的帮助,谢谢!
strtotime
神奇地找出格式,你应该听取 briosheje 的建议 - 使用DateTime::createFromFormat(...)
并明确指定输入格式。作为奖励,您将获得一个完整的、时区感知的日期对象来处理,而不仅仅是一个时间戳。 - DCoder+1000
,这是“GMT+10小时”的时区指定符号,strtotime将其解析为这样。 - DCoder$old->setTimezone(new DateTimeZone('Europe/London'));
,然后是echo $old->format('Y-m-d H:i:s');
。这在文档中有说明。 - DCoder