UI 中 post.created_at 日期与数据库不匹配

在用户的动态消息中,会显示帖子发布的日期:

然而,当我使用数据探索器插件查看此帖子时,发现它创建于 4 月 21 日,而非 4 月 20 日。

因此,在数据库中,该帖子创建于 4 月 21 日,但用户界面却显示为 4 月 20 日发布。

这为何重要?
我们有一个自定义功能用于追踪连续访问天数。偶尔会有用户联系询问为何他们的连续记录中断。在这种情况下,中断的原因是:在数据库中,该用户在 4 月 20 日没有任何活动记录,但从他们的角度来看,他们看到自己当天发布了帖子。

有人知道为何用户界面和数据库中的日期会不一致吗?

2 个赞

数据库时间戳采用 UTC 格式(末尾的 Z 代表 “祖鲁时间”)。用户界面时间戳将显示为浏览器所在的本地时区时间。这是否能解释该差异?

7 个赞

啊,明白了。没错,情况确实如此。帖子发布时是 UTC 午夜,但在我的浏览器(EST)上显示为减去 4 小时,所以日期变成了 4 月 20 日。

虚惊一场,抱歉!

感谢你的帮助 @david

4 个赞