webentwicklung-frage-antwort-db.com.de

Einfachste Möglichkeit, ein Datum in PHP zu erhöhen?

Angenommen, ich habe eine Zeichenfolge, "2007-02-28", was ist der einfachste Code, den ich schreiben könnte, um daraus "2007-03-01" zu machen? Im Moment benutze ich nur strtotime(), füge dann 24*60*60 hinzu und benutze dann date(), frage mich aber nur, ob es eine sauberere, einfachere oder klügere Methode gibt.

37
davr

Ein sauberer Weg ist zu verwenden strtotime()

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

Gib dir den 2007-03-01

78
Ólafur Waage

Es ist sauberer und einfacher, 86400 hinzuzufügen. :)

Der High-Tech-Weg ist zu tun:

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

aber das lohnt sich wirklich nur aus der Ferne, wenn Sie zum Beispiel eine Reihe von Transformationen am Datum durchführen und nicht nur morgen suchen.

31
chaos

Sie können die Addition direkt in strtotime vornehmen, z.

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

Eine andere Möglichkeit ist die Verwendung der Funktion mktime (). Es ist sehr nützliche Funktion ...

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

aber ich denke strtotime() ist in dieser Situation besser ...

6
Bajlo

Der einfachste Weg ...

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

ODER ab dem angegebenen Datum ...

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

Hallo, du kannst das unten ausprobieren, besonders wenn du Französisch bist

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

um auf Französisch zu übersetzen, können Sie die Funktion setlocale () oder die Funktion unten verwenden:

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
Aominé
$your_date = strtotime("1month", strtotime(date("Y-m-d")));
 $new_date = date("Y-m-d", $your_date++);