如何选择具有时间戳范围的记录?

时间:2013-08-02 16:33:27

标签: php mysql date timestamp

我的意思是,如果我有这样的表:

id | time        | name
1  | 1354382314  | test1
2  | 1374769114  | test2
3  | 1322759914  | test3

如何选择记录,例如,一周前,一个月前或一年前创建的记录?是否只能使用mysql函数或如何在php中执行此操作?

3 个答案:

答案 0 :(得分:1)

由于时间戳是一个总是增长的数字,您只需计算所请求范围的开始和结束标记,然后使用

WHERE `time` >= 'startstamp' AND `time` <= 'endstamp'

要在1周前获得邮票,您可以使用php functoon strtotime("-1 week")。与月等相似。

如果您需要当前印章,请使用time()

答案 1 :(得分:1)

我认为使用mysql函数也是可能的

像,

select * from table where time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 WEEK))
select * from table where time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 YEAR))
select * from table where time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 MONTH))

答案 2 :(得分:1)

select id,time,name from your_table where (current_timestamp-time)>7*24*60*60;

7 * 24 * 60 * 60代表一周