如何按照夏时制发生的时间跳动检查日期时间在PHP中是否有效?

今天,我正在使用各种模型的Eloquent insert方法从Laravel 6.9.0播种机向MariaDB 10.4.11 DB中插入一些数据。

某些插入由于我尝试插入的特定created_atupdated_at日期时间而失败。日期时间之一如下:

2018-03-11 02:57:51

起初,我无法说出为什么这个日期时间不会插入,因为它看起来完全是无害的,但是在挠了一下头之后,我意识到由于夏时制的跳跃,这是一个无效的日期时间每年春天在美国(也许在世界其他地方)都会发生。

具体来说,在2018年3月11日星期日凌晨,美国的时钟达到凌晨2点时,它们立即跳到凌晨3点以转移夏令时。因此,日期时间2018-03-11 02:57:51无效。

我恰好位于美国东部时区,所以我不确定在尝试插入时是否会有所不同,但是基本上,由于该日期时间,插入每次都会失败。

因此,我试图根据日期是否由于春天的夏令时跳跃而确定是否有一种方法可以检查日期时间是否为有效的日期时间,

>

在PHP中有什么方法可以做到这一点?并且,如果我发现无效的日期时间,该怎么办?我是否应该在日期时间上增加一个小时,以使其有效,然后将其插入数据库中?谢谢。

timeyy 回答:如何按照夏时制发生的时间跳动检查日期时间在PHP中是否有效?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2846154.html

大家都在问