gpt4 book ai didi

php - 在mysql查询中使用php time()函数计算两个日期之间的差异

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

我搜索过这个,但找不到任何东西。

我有一个文章表。当我写新文章时,我使用 php time() 函数将时间写入 mysql 表。

我的 table 是

id文章时间

时间数据类型为 INT(UNSIGNED)

我的问题是我想显示从上周到今天或从上个月到今天的文章。

我的 mysql 查询应该如何?

通常我会这样做

SELECT * FROM articles ORDER BY Time DESC

所以这给了我从今天到过去的数据。我该怎么做?我想不出解决办法。我应该一起使用 php-mysql 还是只用 mysql 来处理这个问题?你能给我想法或例子吗?谢谢。

编辑:

我按照建议更改为日期时间,现在我认为我遇到了时区问题

现在我的 ago() 函数工作晚了 2 小时。

<?php 
date_default_timezone_set('Europe/Istanbul'); //timezone function
ago($time)
{
$periods = array("saniye", "dakka", "saat", "gün", "hafta", "ay", "yıl", "baya");
$lengths = array("60","60","24","7","4.35","12","10");

$now = time();

$difference = $now - $time;
$tense = "önce";

for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
$difference /= $lengths[$j];
}

$difference = round($difference);

return "$difference $periods[$j] önce ";
} //ago function

echo $Date = ago(strtotime($data['WriteTime'])). 'önce';
?>

最佳答案

假设你的 time 列是一个 Unix 时间戳,你可以尝试这样的事情:(未测试)

SELECT ... 
FROM magic
WHERE `time` BETWEEN DATE_SUB(FROM_UNIXTIME(`time`), INTERVAL 1 WEEK) AND NOW()

对于您的月份,您将使用 INTERVAL 1 MONTH。请将您的列转换为常用数据类型,并且不要使用保留字作为列名。

关于php - 在mysql查询中使用php time()函数计算两个日期之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14510500/

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