使用datetime获取结果

我想在两个时间间隔之间获取结果。我之前用另一个我使用
Y-m-d
构建的网络应用程序完成了这项工作,但现在遇到了
Y-m-d H:i:s
的问题。代码如下(出于安全原因被屏蔽):
$m5b = date('Y-m-d H:i:s',mktime(0,0,0,0,0,0,date('Y'),date('m'),date('d'),date('H'),date('i')-5,date('s')));
$npm = date('Y-m-d H:i:s',mktime(0,0,0,0,0,0,date('Y'),date('m'),date('d'),date('H'),date('i')+1,date('s')));
$gm = mysql_query("SELECT * FROM acm WHERE lgt !='0000-00-00 00:00:00' AND logged BETWEEN '$m5b' AND '$npm'");
    
已邀请:
我会认真推荐阅读PHP的
strtotime()
函数,如果你使用的是PHP5的最新版本,那么就是DateTime对象。这应该清理你的代码。 用strtotime()
$t = strtotime('+5 mins');
$mysqlFormatted = date('Y-m-d H:i:s', $t);
使用DateTime类
$t = new DateTime();
$t->modify('+5 mins');
$mysqlFormatted = $t->format('Y-m-d H:i:s');
    
在我看来,你传递的参数太多了mktime()你传递了12个参数? 编辑: 使用来自oblig的答案的代码实际应该是:
$m5b = date("Y-m-d H:i:s" , (time() - (5*60)) ); // 5 mins in seconds
$npm = date("Y-m-d H:i:s" , (time() + (1*60)) );
    
mktime根据php.net:
   int mktime (    
    [ int $hour = date("H") 
    [, int $minute = date("i") 
    [, int $second = date("s") 
    [, int $month = date("n") 
    [, int $day = date("j") 
    [, int $year = date("Y") 
    [, int $is_dst = -1 ]]]]]]] )
    

要回复问题请先登录注册