2013-02-10 212 views
0

表单正在从MySQL数据库中检索数据。如何将1天添加到gg.mm.aaaa日期

$query = $link->query("SELECT Date_ggmmaaaa AS Date 
         FROM table 
         WHERE Date_aaaammgg BETWEEN CURDATE() + 0 - INTERVAL 1 MONTH + 0 AND CURDATE() + 0"); 

while($result = $query->fetch_object) {  
    $date.= "<string>".$result->date."</string>"; 

}

现在,当我回声$date,这始终是gg.mm.aaaa我想补充1天。

例如,如果我有:

09.02.2013 -> I want to echo 10.02.2013 

10.02.2013 -> I want to echo 11.02.2013 

我怎么能达到呢?

编辑:

运作良好解决方案

$query = $link->query("SELECT date_ggmmaaaa AS date, test FROM table WHERE date_aaaammgg BETWEEN CURDATE() + 0 - INTERVAL 1 MONTH + 0 AND CURDATE() + 0 AND div1 = 0 AND div4 <> 0"); 

while($result = mysqli_fetch_array($query)) { 
     $dt = DateTime::createFromFormat('d.m.Y', $result['date']); 
     $dt->modify('+1 day'); 
     $result['date'] = $dt->format('d.m.Y'); 
     $date .= "<string>".$result['date']."</string>"; 
     $test .= "<number>".$result['test']."</number>"; 
} 
+0

ups:P我切了一些其他的东西 – Perocat 2013-02-10 00:50:40

回答

2
$dt = DateTime::createFromFormat('d.m.Y', $result->date); 
$dt->modify('+1 day'); 
$result->date = $dt->format('d.m.Y'); 
+0

works perfeclty,谢谢! – Perocat 2013-02-10 01:04:13

0
$result->date=$result->date+86400; //<-- Try that 
0

也许,你可以使用这个:

echo date('d.m.Y', strtotime("+1 day",strtotime('10-02-2013'))); 
0

因为你用点你可能必须先爆炸:

$tmp = explode(".",$result->date); 
echo date("d.m.Y", mktime(0, 0, 0, $tmp[1], $tmp[0]+1, $tmp[2]));