2012-02-14 121 views
0

我的目標是在php中設置基於時間範圍的打印輸出數據。 例子..我想讓用戶只能看到當前時間內的當前內容。在php中減去時間

<?php 
$set = strtotime("2012-02-01"); 
$t=time(); 

$a= date('D F d Y', strtotime("2012-02-01"));//set current date 
$b= date("D F d Y", strtotime('8 day', $set)); 
$c= date("D F d Y", strtotime('16 day', $set)); 
$d= date("D F d Y", strtotime('24 day', $set)); 
print '<br>'.$a; print '<br>'.$b; print '<br>'.$c; print '<br>'.$d; 

if($t >= $a){ print '<br>1'; } 
elseif(($t >= $b&& $t<$c)){ print '<br>2'; } 
elseif(($t <= $c&& $t<$d)){ print '<br>3'; } 
else { print '<br>default'; } 

?> 

只打印出1

+1

查詢之前請求,使用['DateTime'](http://php.net/manual/en/datetime.diff.php)類來比較日期 – 2012-07-12 15:32:18

回答

2

您在這裏$t >= $a比較蘋果和桔子,$t是一個時間戳,而$a是字符串Wed February 01 2012。你需要做的if($t >= $set){}

4

它輸出1,因爲你是用途不同做

1329260640 >= "Wed February 01 2012" 

$a是一個字符串,$t是一個int

當你將字符串轉換爲int它通常爲0 (除的情況下的字符串可以被解析成一個int)

所以1329260640是大於0,因此$a >= $t