2012-10-14 54 views
9

我想添加1天,然後從給定時間減去(減去)1秒。從給定時間減去一秒

我所做的:的2012-09-28 23:59:59

$fromDate = date("Y-m-d", strtotime("2012-09-28")).' 00:00:00'; 
$date = strtotime(date("y-m-d H:m:s", strtotime($fromDate)) . " +1 day") - 1; 
$toDate = date('Y-m-d H:m:s', $date); 
echo $toDate; 

,而是它返回2012-09-29 00:09:59

我在做什麼錯?

+0

問題是在你的日期格式,一部分「H:M:S」 ......您打印「小時月份秒」 – miro

回答

14

你正在四處尋找,而不是走到代碼中。這是我與DateTime對象解決方案:

$time = new DateTime("2012-09-28"); 
$time->modify("+1 day"); 
$time->modify("-1 second"); 

var_dump($time); 

或者,如果你只需要一天的最後一秒,爲什麼不乾脆:

$time = "2012-09-28"; 
$time .= " 23:59:59"; 

由於這是不太可能的秒/分鐘/小時數一天改變。

2

如果我理解你是對的,你只需要在給定的一天中的最後一秒,對吧?

如果是這樣的話,那麼你可能只是有:

$theDate = "2012-09-28"; 
$fromDate = $theDate." 00:00:00"; 
$toDate = $theDate." 23:59:59"; 
+0

這是一個解。但它應該工作。 – glarkou