[英]Add Date Interval to Date Time
我有2個Datetime對象,並且使用diff來獲取間隔。 然后,我想將此間隔添加到另一個日期以獲取將來的日期。 這是我的代碼:
$start = new DateTime($start_date);
$stop = new DateTime($end_date);
$interval = $start->diff($stop);
$now = new DateTime($update_date);
$now->add($interval);
return $now->format('Y-m-d H:i:s');
為了驗證數字的總和,我這樣做:
echo "interval = " . $interval->format("%d days, %h hours and %i minutes");
echo "<br/> date = ". $update_date;
echo "<br/> result = ". $now->format('Y-m-d H:i:s');
我得到了這個:
interval = 0 days, 0 hours and 13 minutes
date = 2016-01-14 21:03:41
result = 2016-01-14 20:50:22
因此,如果我將約會增加13分鍾,為什么結果減少13分鍾呢?
以下代碼為我工作:
$start_date = '2016-01-14 12:12:00';
$end_date = '2016-01-14 12:25:00';
$update_time = '2016-01-14 16:00:00';
$start = new DateTime($start_date);
$end = new DateTime($end_date);
$interval = $start->diff($end);
$now = new DateTime($update_time);
$now->add($interval);
echo $now->format('Y-m-d H:i:s'); //2016-01-14 16:13:00
您可以在這里找到一個工作示例: https : //3v4l.org/P3rKU
$start = new DateTime('2016-01-14 21:03:41');
$end = new DateTime('2016-01-14 21:30:05');
$interval = date_diff($start,$end);
echo $interval->format("%d days, %h hours and %i minutes")."<br/>";
$now = new DateTime('2016-01-14 21:30:05');
$now->add($interval);
echo "Total : ", $now->format('Y-m-d H:i:s');
嘗試這個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.