Frage

Sagen, ich habe eine Zeichenfolge, kommt in, "2007-02-28", was der einfachste Code, das ich schreiben könnte, dass in "2007-03-01" zu verwandeln? Im Moment bin ich nur strtotime() verwenden, dann 24*60*60 Zugabe, dann date() verwenden, aber frage mich, ob es ein sauberer, einfacher oder mehr cleveren Weg, es zu tun.

War es hilfreich?

Lösung

Eine saubere Art und Weise ist strtotime() verwenden

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

geben Sie die 2007-03-01

Andere Tipps

Es ist sauberer und einfacher hinzufügen 86400:)

Der High-Tech-Weg ist zu tun:

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

, aber das ist wirklich nur aus der Ferne lohnt sich, wenn Sie tun, sagen wir, eine Folge von Transformationen an dem Tag, anstatt nur morgen zu finden.

können Sie tun, um die Zugabe direkt in strtotime, z.

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

Eine andere Möglichkeit ist Funktion mktime () zu verwenden. 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() in dieser Situation besser ist ...

Die einfachste Art und Weise ...

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

oder von bestimmtem Datum ...

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

Hallo können Sie versuchen, diese unter besonders wenn man französisch sind

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

in Französisch übersetzen Sie die setlocale () Funktion oder die Funktion unten verwenden können:

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;

}
$your_date = strtotime("1month", strtotime(date("Y-m-d")));
 $new_date = date("Y-m-d", $your_date++);
 $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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top