it-swarm.com.de

Tage bis zum aktuellen Datum () erhöhen

Wie füge ich eine bestimmte Anzahl von Tagen zum aktuellen Datum in PHP hinzu?

Ich habe bereits das aktuelle Datum mit:

$today = date('y:m:d');

Sie müssen nur x Anzahl von Tagen hinzufügen

41
Anomynous

php unterstützt Datumsfunktionen im Stil von c. Sie können Datumszeiträume mit Phrasen im englischen Stil über die Funktion strtotime hinzufügen oder subtrahieren. Beispiele ...

$Today=date('y:m:d');

// add 3 days to date
$NewDate=Date('y:m:d', strtotime("+3 days"));

// subtract 3 days from date
$NewDate=Date('y:m:d', strtotime("-3 days"));

// PHP returns last sunday's date
$NewDate=Date('y:m:d', strtotime("Last Sunday"));

// One week from last sunday
$NewDate=Date('y:m:d', strtotime("+7 days Last Sunday"));

oder 

<select id="date_list" class="form-control" style="width:100%;">
<?php
$max_dates = 15;
$countDates = 0;
while ($countDates < $max_dates) {
    $NewDate=Date('F d, Y', strtotime("+".$countDates." days"));
    echo "<option>" . $NewDate . "</option>";
    $countDates += 1;
}
?>

90
Paul

ein Tag ist 86400 Sekunden.

$tomorrow = date('y:m:d', time() + 86400);
19
nickf

Der einfachste Weg, um x-Nr. Hinzuzufügen. an Tagen..

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

ODER ab dem angegebenen Datum ...

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

Die Funktion date_add() sollte das tun, was Sie möchten. Überprüfen Sie außerdem die Dokumente (inoffiziell, aber die offiziellen sind etwas spärlich) für das Objekt DateTime , mit dem Sie viel mehr arbeiten können als mit den prozeduralen Funktionen in PHP.

7
eplawless

Mit php 5,3 

    $date = new DateTime();
    $interval = new DateInterval('P1D');
    echo $date->format('Y-m-d') , PHP_EOL;
    $date->add($interval);
    echo $date->format('Y-m-d'), PHP_EOL;
    $date->add($interval);
    echo $date->format('Y-m-d'), PHP_EOL;

wird ausgegeben 

2012-12-24

2012-12-25

2012-12-26

7
Xavier John

Wenn Sie diesen Code an mehreren Stellen benötigen, würde ich vorschlagen, dass Sie eine kurze Funktion hinzufügen, um den Code einfacher und einfacher zu testen.

function add_days( $days, $from_date = null ) {
    if ( is_numeric( $from_date ) ) { 
        $new_date = $from_date; 
    } else { 
        $new_date = time();
    }

    // Timestamp is the number of seconds since an event in the past
    // To increate the value by one day we have to add 86400 seconds to the value
    // 86400 = 24h * 60m * 60s
    $new_date += $days * 86400;

    return $new_date;
}

Dann können Sie es überall verwenden:

$today       = add_days( 0 );
$tomorrow    = add_days( 1 );
$yesterday   = add_days( -1 );
$in_36_hours = add_days( 1.5 );

$first_reminder  = add_days( 10 );
$second_reminder = add_days( 5, $first_reminder );
$last_reminder   = add_days( 3, $second_reminder );
2
Philipp

15 Tage zu einem Auswahlelement hinzufügen (mit dem Vorschlag "Alive to Die")

<select id="date_list" class="form-control" style="width:100%;">
<?php
$max_dates = 15;
$countDates = 0;
while ($countDates < $max_dates) {
    $NewDate=Date('F d, Y', strtotime("+".$countDates." days"));
    echo "<option>" . $NewDate . "</option>";
    $countDates += 1;
}
?>

0
Rayed
$NewDate=Date('Y-m-d', strtotime("+365 days"));

echo $ NewDate; // 2020-05-21

0

$NewTime = mktime(date('G'), date('i'), date('s'), date('n'), date('j') + $DaysToAdd, date('Y'));

Von Zeitdokumentation :

mktime () ist nützlich für die Datumsberechnung und -überprüfung, da es automatisch den korrekten Wert für Eingaben außerhalb des Bereichs berechnet.

Der Vorteil dieser Methode besteht darin, dass Sie beliebige Zeitintervalle (Stunden, Minuten, Sekunden, Tage, Monate oder Jahre) in einer einfach zu lesenden Codezeile addieren oder subtrahieren können.

Beachten Sie, dass die Leistung beeinträchtigt wird, da dieser Code aufgrund aller Aufrufe der Funktion date () etwa 2,5-mal langsamer ist als strtotime ("+ 1 Tag"). Erwägen Sie, diese Werte erneut zu verwenden, wenn Sie sich in einer Schleife befinden.

0
humbads