2016-04-24 8 views
0

日付を特定の形式に変換して1日増やすコードを記述しました。PHPの日付の増加

<?php 
date_default_timezone_set('Europe/Moscow'); 
$mehdate = "2011-11-25"; 
$mehdate = date ('d m Y', strtotime ('+1 day', strtotime($mehdate))); 
echo $mehdate, "\n"; 
?> 

しかし、私は1日で1より多くの時間を$ mehdateを増やす必要があります。 それをどうやって行うのか分かりません。私はすでに再び

$mehdate = date ('d m Y', strtotime ("+1 day", $mehdate)); 

$mehdate = date ('d m Y', strtotime ('+1 day', strtotime($mehdate))); 

を試してみましたが、それはFALSE

strtotime($mehdate) 

戻りますので、動作しません。 これで、すでにフォーマットされている$ mehdateをどのようにして増やすことができますか?あなたがDateTimeクラスを使用する場合

+0

参照:http://stackoverflow.com/questions/660501/simplest-way-to-increment-a-date-in-php –

+0

「dm Y」を「dmY」に変更すると、コードはうまく動作します。しかし、私は日付を 'd m Y'形式で表示する必要があります。実際には、コードの最初のブロックの後に$ mehdateを 'd-m-Y'に変換する方法を見つけたいと思います。 – xFredx

答えて

3

あなたの問題を容易に解決することができます。

はこれを試してみてください。私のようなすべての初心者のために

$mehdate = new DateTime('2011-11-25'); 

$mehdate->modify('+1 day'); 
echo $mehdate->format('d m Y')."\n"; // Gives 26 11 2011 

$mehdate->modify('+1 day'); 
echo $mehdate->format('d m Y');  // Gives 27 11 2011 
+0

このソリューションをありがとう。 – xFredx

0
date_default_timezone_set('Europe/Moscow'); 
$mehdate = "2011-11-25"; 
$mehdate = strtotime ('+1 day', strtotime($mehdate)); 
$mehdate = date ('d m Y', $mehdate); 
echo $mehdate, "\n"; 

結果

26 11 2011 
+0

ありがとうございました!しかし、もう一度$ mehdateを増やすにはどうすればよいですか? – xFredx

+0

答えがあなたの問題を解決した場合は、他の人が利益を得ることができるように、正しい答えとして選択します。あなたの質問を解決するにはいくつかの方法があります。しかし、私はちょうどあなたがしていることを続けることができるようにあなたのコードの問題を見つけるのを助ける。希望は –

+0

もう一度ですか? @Object Manipulatorの方法に従います。 thats better –

0

簡単なアドバイスがあるが:フォーマット 'D Y M' を、あなたはより良い'D-M-Y'で動作したいを使用しないでください。

または、オブジェクトマニピュレータがアドバイスしたようにDateTimeクラスを使用する必要があります。