PHP 日期 - 奇怪的日期计算
PHP Date - Weird date calculation
我试图将时间缩短为一整分钟(作为更大舍入机制的一部分)。在我的单元测试中,我发现了一些奇怪的东西,代码的和平:
echo date('Y-m-d H:i:00', strtotime('2018-09-31 19:39:45'));
结果:
2018-10-01 19:39:00
我做错了什么?
注意:我 WAS 运行 这个 2018-10-01
http://sandbox.onlinephpfunctions.com/code/1cb0dd98e9d540616d02ce2d5c00684800af8597
strtotime()
不验证日期。
如果你这样做
echo date('Y-m-d H:i:00', strtotime('2018-02-30 19:39:45'));
产出
2018-03-02 19:39:00
所以,这里的问题是您使用的是 "invalid" 日期,而 PHP 是秒数的总和。
因此,9 月 31 日表示 9 月 30 日 + 24 小时(以秒为单位)。当您 运行 date()
将获得以秒为单位的日期并向您显示有效日期,十月一日。
我试图将时间缩短为一整分钟(作为更大舍入机制的一部分)。在我的单元测试中,我发现了一些奇怪的东西,代码的和平:
echo date('Y-m-d H:i:00', strtotime('2018-09-31 19:39:45'));
结果:
2018-10-01 19:39:00
我做错了什么?
注意:我 WAS 运行 这个 2018-10-01
http://sandbox.onlinephpfunctions.com/code/1cb0dd98e9d540616d02ce2d5c00684800af8597
strtotime()
不验证日期。
如果你这样做
echo date('Y-m-d H:i:00', strtotime('2018-02-30 19:39:45'));
产出
2018-03-02 19:39:00
所以,这里的问题是您使用的是 "invalid" 日期,而 PHP 是秒数的总和。
因此,9 月 31 日表示 9 月 30 日 + 24 小时(以秒为单位)。当您 运行 date()
将获得以秒为单位的日期并向您显示有效日期,十月一日。