gpt4 book ai didi

php - 是什么导致 MySQL 时间戳等于 1969 年 12 月 31 日

转载 作者:可可西里 更新时间:2023-11-01 08:40:08 25 4
gpt4 key购买 nike

在我运行的 PHP 站点中,用户表有一个名为 user_last_login 的日期时间字段。

我时不时地注意到随机用户此字段的值为 1969 年 12 月 31 日,而其他数千名用户仍然存储了准确的日期。

以下 PHP 代码用于在登录时生成此值:

$login_success_query->bindValue(':user_last_login', date("Y-m-d H:i:s"), PDO::PARAM_STR);

什么可能导致这个意外的默认日期值?

编辑(显示代码):

$user_last_login = strtotime($enrolled_user['user_last_login']);
$user_last_login = date( 'F j, Y | g:i a', $user_last_login );

最佳答案

不再是疯狂射击

date("Y-m-d H:i:s")

因此,您正在以正确的 MySQL 日期时间格式存储日期。而且你的显示器有时会显示

December 31, 1969

这意味着您显然正在以不同的格式显示它。所以你用来转换那个日期的代码有问题。最有可能的问题是月份先到还是日期先到。查看该代码,您将看到当您的代码采用一个月的日期并导致错误然后将打印日期默认为 unix 纪元时发生了什么。

您还可以通过运行查询以查看所有存储的日期时间值来验证此假设,如果您始终使用 date("Y-m-d H:i:s") 来存储日期,那么它它绝对不可能有时随机地损坏

上次登录:从不 ;) 是答案。

关于php - 是什么导致 MySQL 时间戳等于 1969 年 12 月 31 日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34891782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com