2013-04-09 131 views
0

林作出这样的SQL:使用Unix日起实施

SELECT * FROM POST 
WHERE date between :date1 and :date2 

日期2永远将是今天的日期PHP时间(); (UNIX格式)。 现在我需要把date2减去7天(1周)和date2减1个月。

(这将由用户在表单上选择)。

问题是我无法在UNIX日期工作中获得操作。

$date2 = time(); 
$date1 = $_GET['fromDate']; 

$query = "SELECT * FROM POST 
      WHERE date between :date1 and :date2"; 

HTML表单

select id=fromDate> 
    <option value=<?php echo time()-604800>WEEK</option> 
/select> 
+0

告诉我们你试过了什么,错误是什么 – 2013-04-09 08:25:27

回答

0
$today = time(); 
$oneWeekAgo = time() - (60 * 60 * 24 * 7); // 60 seconds, 60 minutes, 24 hours, 7 days 
$oneMonthAgo = time() - (60 * 60 * 24 * 30); // 60 seconds, 60 minutes, 24 hours, 30 days 

或更准确将为$ oneMonthAgo:

$date = date_create(); // get DateTime object of today 
date_modify($date, "-1 month"); // 1 month ago 
$oneMonthAgo = date_timestamp_get($date); // get unix time 
+0

@CarlesCarlesCarles它现在在工作吗?你不应该在你的'