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

Php 为什么strotime只显示一个字符串?,php,Php,我有一个API,它返回开始时间和结束时间,就像 1899-12-30T16:30:00 我试图将上面的字符串转换为时间,但使用了回显日期('H:I:s',strottime($starttime))其中$starttime从API返回。 上面的字符串返回17:00:00,但如果我只回显$starttime,则显示1899-12-30T16:30:00 我做错什么了吗?可能尝试在php设置或特定的php页面中设置时区 当我尝试运行它时: $starttime = "1899-12-30T16:30

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

我试图将上面的字符串转换为时间,但使用了
回显日期('H:I:s',strottime($starttime))
其中$starttime从API返回。 上面的字符串返回17:00:00,但如果我只回显$starttime,则显示1899-12-30T16:30:00


我做错什么了吗?

可能尝试在php设置或特定的php页面中设置时区

当我尝试运行它时:

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

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

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


你的PHP版本是什么?它为我回显
16:30:00
。@haim770我正在使用5.2。17@haim770是否有其他方法…它不会在我的结束处显示currect值运行
date\u default\u timezone\u get()
,以检查当前时区。可能您处于+0:30时区。既然
strotime
date
都使用相同的时区,那么设置什么时区又有什么关系呢?您运行的是64位版本的PHP吗?
$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');