我有一个包含以下字段的表:
id - int
name - int
the_date - int
the_date
是添加行时的unix时间戳
现在我正在尝试编写一个查询,该查询将选择从现在起7天内的所有行。我不是在讨论从time()
选择行> = 7天,我需要使用time()
获取当天的日期,然后运行一个SELECT,它会抓取插入的所有行从time()
开始的7天。
我知道如何在time()
之后的7天内使用简单的> = SELECT,但我不知道该怎么做,所以它选择unix时间戳所在的所有行特定的一天(从现在起7天)。
非常感谢任何帮助。
答案 0 :(得分:0)
$todayParts = getdate();
$startToday = mktime(0, 0, 0, $todayParts['mon'], $todayParts['mday'], $todayParts['year']);
$sevebDaysFromNow = 60 * 60 * 24 * 7;
$seventhStart = $startToday + $sevebDaysFromNow;
$seventhEnd = $seventhStart + 60 * 60 * 24;
$sql = "SELECT * FROM <table> WHERE the_date BETWEEN $seventhStart AND $seventEnd";
这将从您现在开始的7天开始计算。希望这有帮助
答案 1 :(得分:0)
SELECT * FROM `dbname1`.`test`
WHERE
date(FROM_UNIXTIME(`the_date`)) = ADDDATE(DATE(NOW()), INTERVAL 7 DAY);
答案 2 :(得分:0)
这里有点兴趣,
where the_date >= unix_timestamp(curdate() + interval 7 day)
and the_date < unix_timestamp(curdate() + interval 8 day)