1

我想编写一个查询,计算从今天开始并按时间倒退的顺序(即找出链断裂前连续多少天)。相同的日期在数据库中只出现一次。

示例(今天的日期是 2012-07-15 这里):

2012-07-14
2012-07-13
2012-07-10

= 2

2012-07-14
2012-07-13
2012-07-12
2012-07-10
2012-07-09

= 3

4

2 回答 2

1

这是在 sql server 中完成的。请将其转换为 mysql 语法

 select count(*) from
(select dateval,DATEDIFF(day,dateval,'2012-07-15') day_diff,
ROW_NUMBER() over (order by dateval desc) as rownum from test_11 )a
where a.rownum=a.day_diff
于 2012-07-20T11:23:29.130 回答
1

您可以使用函数strtotime()来获取日期的time()值..

<?php

$userDate = "2012-07-14";

$pastDate = strtotime($userDate);
$currentTime  = time();
$secondsSince = round($currentTime-$pastDate);
$daysSince    = $secondsSince/86400; // 86400 being the seconds in a day

$preciseNumDays = sprintf("%.2f", $daysSince);

echo $preciseNumDays;

?>

我刚刚编写了那个简单的脚本来计算自过去日期以来的天数。你可以循环一个天数并获取每个日期通过循环后的天数。

于 2012-07-20T11:17:24.433 回答