我的意思是,如果我有这样的表:
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))
select id,time,name from your_table where (current_timestamp-time)>7*24*60*60;
7*24*60*60 代表一周
由于时间戳是一个总是增长的数字,您可以简单地计算您请求范围的开始和结束戳,并使用
WHERE `time` >= 'startstamp' AND `time` <= 'endstamp'
要获得 1 周前的邮票,您可以使用 php functoon strtotime("-1 week")
。与月份等类似。
如果您需要任何当前标记,请使用time()
.