我的意思是,如果我有这样的表:
id | time | name
1 | 1354382314 | test1
2 | 1374769114 | test2
3 | 1322759914 | test3
例如,如何选择一周前、一个月前或一年前创建的记录?只有mysql
函数才能实现吗?或者我如何在php
中实现?
我认为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))
由于时间戳是一个总是增长的数字,您可以简单地计算请求范围的开始和结束时间戳,并使用
WHERE `time` >= 'startstamp' AND `time` <= 'endstamp'
要在一周前获得邮票,您可以在strtotime("-1 week")
上使用php函数。类似于月份等
如果您需要任何内容的当前戳,请使用time()
。
select id,time,name from your_table where (current_timestamp-time)>7*24*60*60;
7*24*60*60代表一周