2012-10-23 80 views
0

我目前正在處理包裹訂閱管理器,在此我必須通過在當前日期中添加持續時間來計算到期日期。在當前日期時間中添加日期時發生的天數

下面是我的代碼,做它:

function generateExpiryDate($start_date, $package_duration) 
{ 
    $expires = strtotime(date($start_date)." + $package_duration"); 
    return date("Y-m-d H:i:s", $expires); 
} 

$current_date = "2012-10-23 19:12:19"; 
$duration = "6 Months"; 
$expiry_date = generateExpiryDate($current_date, $duration); 

當我回聲$ CURRENT_DATE和$ EXPIRY_DATE,它顯示 2012年10月23日19時41分14秒 2013年4月23日19:41 :14

注意,它只是增加月中的月份,並且不會照顧31天,28天,29天或30天等月份中的任何一天。 我希望它考慮到這些事情。

請幫我解決問題。

+1

10.23.2012 + 6個月*是* 4.23.2013 - 你想要的是什麼? – jedwards

+1

$ date = strtotime(date(「Y-m-d」,strtotime($ date))。「+6 month」);類似於這個 – Ghostman

+0

是的,我意識到,在我徹底地完成了測試之後,它的工作正常。 – Asnexplore

回答

0
$date = date($current_date);// current date 
$expiry_date =strtotime(date("Y-m-d", strtotime($date)) . " +6 month");