目前我查看我的网站每天收到的新会员数量;像这样:
$daystart = strtotime("00:00:00");
$newusers = mysql_num_rows(mysql_query("SELECT * FROM users WHERE createtime>'$daystart' OR createtime='$daystart'"));
createtime
行为int(11)
,时间存储在unix时间戳中。
我的问题是,我怎样才能使上述查询从昨天开始? (前一天有多少新会员)
我尝试使用strotime('-1 day')
,但效果不佳。
答案 0 :(得分:0)
也许您可以使用DateTime
:
$yesterday = new DateTime("yesterday");
答案 1 :(得分:0)
strtotime('yesterday');
应该工作
答案 2 :(得分:0)
SELECT * from users WHERE DATE(FROM_UNIXTIME(createtime)) = DATE(DATE_ADD(Now(), INTERVAL '-1' DAY))
未经测试,但可能有效。
答案 3 :(得分:0)
由于您使用的是Unix时间戳,因此您可以使用00:00:00和23:59:59的时间戳,并获取其中添加的所有内容。
$starttime = date('U', strtotime('Yesterday 00:00:00'));
$endtime = date('U', strtotime('Yesterday 23:59:59'));
$query = "SELECT * FROM users WHERE createtime >= $starttime AND createtime <= $endtime;";
您也可以使用SQL BETWEEN语句,但有时它不会检索所有数据。