2009-03-18 34 views
34

は私が"2007-03-01"にそれを回すために書くことができ、最も簡単なコードは何ですか?、"2007-02-28"、私が入ってくる文字列を持っていると言いますか今、私はちょうどそのdate()を使用して、その後、24*60*60を追加し、strtotime()を使用していますが、それをやってのクリーン、シンプルな、またはそれ以上の巧妙な方法があるかどうかだけで不思議。PHPで日付をインクリメントする最も簡単な方法は?

答えて

72

きれいな方法strtotime()

$date = strtotime("+1 day", strtotime("2007-02-28")); 
echo date("Y-m-d", $date); 

を使用するであるあなたに2007-03-01

29

それは86400を追加するためにクリーンで簡単です:)

ハイテク方法が行うことです。

$date = new DateTime($input_date); 
$date->modify('+1 day'); 
echo $date->format('Y-m-d'); 

いますが、たとえば、シーケンスをやっている場合には、実際にはリモートで価値があります明日を見つけるだけでなく、その日の変換の

+1

愚かなCentOSのが唯一のPHP 5.1を持っている:見よ、あなたはフランス語で翻訳し

$date = date('l j F Y'); #increment the date $date2 = date('l j F Y', strtotime("+7 day")); 

フランスの場合は特に、あなたがsetlocale()関数が以下の機能を使用することができます以下、これを試すことができますDateTimeは5.2で導入されています。私は最終的に非公式のcentos phpパッケージにアップグレードする必要があると思います。 – davr

+3

Er、no。ちょうど86400を加えることは、間違った単純さです。 – staticsan

+0

あなたはそれが意味することを説明できますか? – chaos

16

を与えるあなたは、例えば、右のstrtotime内の追加を行うことができます

$today="2007-02-28"; 
$nextday=strftime("%Y-%m-%d", strtotime("$today +1 day")); 
+0

ああ、きちんとしたそれを知らなかった。これは、ほとんど古いDate :: Manipと似ています。 – chaos

6

別の方法は、関数はmktime()を使用することです。最も簡単な方法...

echo date('Y-m-d',strtotime("+1 day")); //from today 

OR指定した日付からそれは...

$date = "2007-02-28"; 
list($y,$m,$d)=explode('-',$date); 
$date2 = Date("Y-m-d", mktime(0,0,0,$m,$d+1,$y)); 

非常に便利な機能ですが、私はstrtotime()は、そのような状況で優れていると思う...

+0

nice、私はあなたが –

5

.. 。

echo date('Y-m-d',strtotime("+1 day", strtotime('2007-02-28'))); 
-1
$early_start_date = date2sql($_POST['early_leave_date']); 


     $date = new DateTime($early_start_date); 
     $date->modify('+1 day'); 


     $date_a = new DateTime($early_start_date . ' ' . $_POST['start_hr'] . ':' . $_POST['start_mm']); 
     $date_b = new DateTime($date->format('Y-m-d') . ' ' . $_POST['end_hr'] . ':' . $_POST['end_mm']); 

     $interval = date_diff($date_a, $date_b); 
0

ヘル

function fr_date($date){ 

    $date = explode(' ', $date); 

    $date = str_replace('Monday','Lundi',$date); 
    $date = str_replace('Tuesday','Mardi',$date); 
    $date = str_replace('Wednesday','Mercredi',$date); 
    $date = str_replace('Thursday','Jeudi',$date); 
    $date = str_replace('Friday','Vendredi',$date); 
    $date = str_replace('Saturday','Samedi',$date); 
    $date = str_replace('Sunday','Dimanche',$date); 

    $date = str_replace('January','Janvier',$date); 
    $date = str_replace('February','Février',$date); 
    $date = str_replace('March','Mars',$date); 
    $date = str_replace('April','Avril',$date); 
    $date = str_replace('May','Mai',$date); 
    $date = str_replace('June','Juin',$date); 
    $date = str_replace('July','Juillet',$date); 
    $date = str_replace('August','Août',$date); 
    $date = str_replace('September','Septembre',$date); 
    $date = str_replace('October','Octobre',$date); 
    $date = str_replace('November','Novembre',$date); 
    $date = str_replace('December','Décembre',$date); 

    $date = implode(' ',$date); 
    return $date; 

} 
0
$your_date = strtotime("1month", strtotime(date("Y-m-d"))); 
$new_date = date("Y-m-d", $your_date++); 
+0

/( "1month")=以上に行くときにmktime()が月のように月をインクリメントすることを知らなかった。 //( "1day")=は1日増分します。 //(日付( "Y-m-d"))=あなたの現在の日付の日付を増やし始める。 –

+2

コメントの説明ではなく、コードの説明を含めるように回答を編集する必要があります。 – astidham2003

関連する問題