2012-02-14 86 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