2016-09-02 35 views
1

日付が含まれている変数にx日を追加する必要があるシナリオがあります。このxは動的で推測できません。PHPの日付にx日数を動的に追加

私はこれをどのように実装することができますか?

$ticket_created_on_date_time = '2016-08-31 09:55:01' 
$in_between_days = 2; 
+2

をUnixタイムスタンプに日付を変換し、X * 86400秒を追加し、 (必要ならば) –

+0

多くの人に感謝します。それは大きな助けとなった。再度、感謝します。 :-) – Krish

+0

@ chris85回答を投稿してください&私はそれを受け入れます。 – Krish

答えて

1

mathとstrtotime関数を使用して、過去または将来の日付を取得できます。

strtotime($ticket_created_on_date_time) + (86400 * $in_between_days) 

(86400秒で1日です) ....または

strtotime($ticket_created_on_date_time . '+ ' . $in_between_days . ' days') 

デモ:https://eval.in/634187

+0

OPはx日を追加したいだけです - 過去の日付は言及していません –

+0

簡単な算術演算、 '-'ではなく' + 'です。 – chris85

+0

@TheOneandOnlyChemistryBlobは最初に助けてくれてありがとう。あなたのクイック返信は.....と言いました:-) – Krish

3

簡単な例:

<?php 
$date = new DateTime($ticket_created_on_date_time); 
$date->add(new DateInterval(sprintf('P%dD', $in_between_days))); 
echo $date->format('Y-m-d H:i:s'); //output: 2016-09-02 09:55:01 

その他のような何か詳細はhttp://php.net/manual/en/datetime.add.php

あなたはこのようにそれをやるべき
1

<?php 
$date = new DateTime($ticket_created_on_date_time); 
$date->modify("+2 day"); 
echo $date->format("r"); 

編集 - あなたはこのように動的に変更することができます。

$date->modify(sprintf("%u day",$day_diff)); 
関連する問題