在PHP中使用strtotime()将字符串转换为时间时,会增加一个小时,原因是什么


When converting a string to time with strtotime() in PHP it adds one hour, why?

当我使用strtotime()函数转换日期时,它会自动在现有日期中添加1小时。

例如:

$PublishDate = "1/13/2012 **17**:0";
echo strtotime($PublishDate);
// OUTPUT : 1/13/2012 **18**:0

为什么1小时自动递增?

这里发生了一些奇怪的事情。strtotime()转换将日期的字符串表示转换为Unix时间格式的尝试(请参阅strtotime()文档)。Unix时间是自1970年1月1日以来的总秒数。这最终是一个很大的数字,例如1326723022(截至撰写本文时的当前Unix时间)。你可以在这里阅读更多关于Unix时间的信息。

strtotime()应始终返回32位整数或FALSE(在php的旧版本中为-1)。