为什么strtotime只显示一个字符串?

时间:2014-06-29 08:54:31

标签: php

我有一个返回开始时间和结束时间的API 1899-12-30T16:30:00

我正在尝试将上面的字符串转换为时间,但使用echo date('H:i:s', strtotime($starttime)),其中$ starttime从API返回。  以上字符串返回17:00:00但如果我只回显$ starttime它显示1899-12-30T16:30:00

我做错了吗?

2 个答案:

答案 0 :(得分:1)

如果要处理32位有符号整数范围之外的日期,请使用DateTime objects

$starttime = "1899-12-30T16:30:00";
$dateTimeObject = new DateTime($starttime);
echo $dateTimeObject->format('H:i:s');

$starttime = "1899-12-30T16:30:00";
$dateTimeObject = new DateTime($starttime, new DateTimeZone('UTC'));
echo $dateTimeObject->format('H:i:s');

答案 1 :(得分:0)

也许尝试在php设置或特定的php页面中设置时区,

当我尝试运行它时:

$starttime = "1899-12-30T16:30:00";
echo  date('H:i:s', strtotime($starttime));

我得到了

16:30:00