2014-04-18 164 views

回答

1

我已经加注你正试图从数据库获取数据?

SELECT * 
FROM `table` 
WHERE `date_field` BETWEEN CURDATE() - INTERVAL 2 DAY AND CURDATE() 
+0

对不起,我迟到的回应。谢谢@Glavic,这正是我所需要的。 – user1828605

0

这会给你两天前和今天的日期。

$two_days_ago = date('Y-m-d', strtotime('-2 days')); 
$today = date('Y-m-d'); 

这是查询的基本结构,它将获取这些日期之间或之间的行。如果您的日期列被编入索引,则此查询将利用它来获得性能。

$query = "SELECT * FROM tablename WHERE datecol >= '{$two_days_ago}' AND datecol <= '{$today}'"; 
0

试试这个代码:

date('Y-m-d', strtotime('-2 days')); 
+0

这将使他们两天前的日期,但我认为这个问题更广泛。他们想从数据库获取数据,我怀疑他们也想要这些代码。 –

+0

是@John我同意你的意见 –

+0

尊重@John Conde,我并不认为这个问题过于宽泛 - 可能是因为缺乏PHP和/或DB方面的知识。正如问题中所述,我只想从数据库的数据从2天前到今天的日期。我将Glavic的回答标记为答案,因为这正是我想要的。请您详细说明这个问题是如何广泛的,以便我可以确保这种情况在未来不会发生。 – user1828605

0
$date = new DateTime(); 

$date->modify("-2 day"); 

echo $date->format("Y-m-d");