gpt4 book ai didi

php - 我应该在 MySQl 中使用时间戳或文本字段来表示 UTC 时间/日期

转载 作者:行者123 更新时间:2023-11-29 01:25:28 33 4
gpt4 key购买 nike

我读到一个 mysql 时间戳只能保存从 19700101000000 到 2037 年某个时间的值。我严重怀疑我的应用程序会在那时出现,我确信它不会,但不知道人们会使用什么作为时间戳,文本字段?

下面是我当前如何插入带有日期时间 mysql 字段的 mysql 记录的示例,您可以看到我在下面的 PHP 中使用了 now(),现在我正在重新编码我的网站并我将提供时区支持,以便向用户显示正确的时间,因此我需要将日期和时间保存为 UTC 时间戳。

<?PHP
$sql = "INSERT INTO online_users
(user_id,
online_id,
ip,
datetime,
location,
gender)
values ('$cache->userid,$unid,$LOCALIP,NOW(),$location,$g)";
executeQuery($sql);
?>

根据我上面的代码和上面的信息,我将如何格式化此代码以将时间和日期插入 UTC,我应该在 MySQL 中使用时间戳字段还是文本字段?当经常显示它时,我需要修改我的 php 中的时间,例如在一些帖子中,我计算自 mysql 时间以来耗时(2 天 4 小时 34 秒前)。我还需要利用时间来查询诸如过去一周的用户登录之类的事情。我并不是在问如何做这些事情,我只是发布它来展示我将使用时间来做什么,以防万一这将有助于确定我应该将其保存为的最佳方法。

最佳答案

存储日期时间的最佳列是 DATETIME 。它简化了您的代码和查询,因为您不必一直来回转换为整数时间戳,并且 MySQL 会为您处理所有日期比较逻辑。

您可以使用MySQL UTC_DATE() , UTC_TIME()UTC_TIMESTAMP()函数代替 NOW() 来获取 MySQL 中当前的 UTC 时间戳。

关于php - 我应该在 MySQl 中使用时间戳或文本字段来表示 UTC 时间/日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2000837/

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