2

我在数据库中有 unix 时间戳字段。

check_in_mktime
-------------
1345639136
1345639146
1345639176

如何使用时间戳获取两天数据(包括今天和昨天)。

4

4 回答 4

2

试试这个查询 -

(已编辑)

SELECT * FROM table1
WHERE
  check_in_mktime >= UNIX_TIMESTAMP(CURDATE() - INTERVAL 1 DAY) AND
  check_in_mktime < UNIX_TIMESTAMP(CURDATE() + INTERVAL 1 DAY);
于 2012-08-23T07:06:06.343 回答
1

你可以这样做:

 SELECT * 
 FROM your_table 
  WHERE Date(FROM_UNIXTIME(check_in_mktime)) between date(now() + interval 1 day) and date(now() - interval 1 day)
于 2012-08-23T07:04:58.423 回答
1

您需要使用以下内容:

  • NOW() => 当前日期和时间
  • FROM_UNIXTIME()=> 将时间戳转换为日期
  • DATE()=> 从日期时间数据类型获取日期
  • DATE_SUB()=> 减去日期

尝试,

  SELECT * 
  FROM  your_table 
  WHERE DATE(FROM_UNIXTIME(check_in_mktime`))     -- converts timestamp to date
                   between DATE(NOW) and                    -- today
                           DATE_SUB(NOW(),INTERVAL 1 DAY)   -- yesterday
于 2012-08-23T07:07:54.890 回答
0

如果将来没有签到,那么

SELECT * FROM table_name 
WHERE check_in_mktime >= UNIX_TIMESTAMP(CURDATE() - INTERVAL 1 DAY)
于 2012-08-23T07:06:55.977 回答