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

发布于 2024-12-27 01:26:09 字数 221 浏览 0 评论 0原文

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

例如:

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

// OUTPUT : 1/13/2012 **18**:0

为什么1小时会自动递增?

When I am converting date using strtotime() function it automatically added 1 hour in existing date.

For example:

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

// OUTPUT : 1/13/2012 **18**:0

Why 1 hour is incremented automatically?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

踏雪无痕 2025-01-03 01:26:09

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

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

Something odd is going on here. strtotime() converts attempts to convert a string representation of a date to the Unix time format (see the strtotime() documentation). Unix time is the total number of seconds since January 1st, 1970. This ends up being a large number, such as 1326723022 (the current Unix time as of writing). You can read more about Unix time here.

strtotime() should ALWAYS return either a 32 bit integer or FALSE (-1 in older versions of php).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文