gpt4 book ai didi

php - PHP 或 SQL 中耗时格式

转载 作者:行者123 更新时间:2023-11-29 05:39:16 25 4
gpt4 key购买 nike

从像 Stackoverflow 或 Facebook 这样的数据库中获取元组耗时的好方法是什么?当经过 < 1 分钟时显示经过的秒数,小于 1 小时时显示分钟等。这在 MySQL 中是否比在 PHP 中格式化具有更好的性能?

最佳答案

没有。这个 PHP 真的最适合 - 您可以从数据库中获取时间戳值(最终)将其转换为 Unix 纪元格式,如下所示:

SELECT UNIX_TIMESTAMP(`when`) FROM `posts` ORDER BY `id` DESC LIMIT 1;

然后计算差值。计算差异,尤其是将其划分为范围时,您需要 MySQL 执行一些并非真正最适合的操作。

最终,您还可以考虑将处理工作传递给用户 - 只需尝试使用 JavaScript 来根据时间戳确定差异。这样您就可以只使用 PHP 来显示数据库中的值,而无需在 PHP 端进行进一步处理。

使用 JavaScript (jQuery) 的解决方案

此解决方案将处理工作转移给用户,并允许同时不断更新时间戳。 JavaScript 可能看起来像这样:

jQuery('span[data-timestamp]').each(function(){
var el = jQuery(this);
var then = Math.floor(el.attr('data-timestamp'));
var updateTime = function(){
var now = Math.floor((new Date()) / 1000);
el.html((now - then) + ' seconds ago');
};
setInterval(updateTime, 1000);
updateTime();
});

然后每个片段看起来像这样:

<span data-timestamp="1320821800"></span>

转换为相对时间戳并每秒更新一次(参见this jsfiddle)。如果您想使用它,只需确保 updateTime 正确地将以秒为单位的相对时间戳更改为使用不同单位(分钟、小时、天、周、月、年等...)的时间戳。

关于php - PHP 或 SQL 中耗时格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8061167/

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