Antworten:
Verwenden Sie DateTime
$datetime = new DateTime('tomorrow');
echo $datetime->format('Y-m-d H:i:s');
Oder:
$datetime = new DateTime('2013-01-22');
$datetime->modify('+1 day');
echo $datetime->format('Y-m-d H:i:s');
Oder:
$datetime = new DateTime('2013-01-22');
$datetime->add(new DateInterval("P1D"));
echo $datetime->format('Y-m-d H:i:s');
Oder in PHP 5.4+:
echo (new DateTime('2013-01-22'))->add(new DateInterval("P1D"))
->format('Y-m-d H:i:s');
$tomorrow = date("Y-m-d", strtotime('tomorrow'));
oder
$tomorrow = date("Y-m-d", strtotime("+1 day"));
<? php
//1 Day = 24*60*60 = 86400
echo date("d-m-Y", time()+86400);
?>
echo date ('Y-m-d',strtotime('+1 day', strtotime($your_date)));
Verwendung DateTime:
Um morgen von jetzt an zu kommen:
$d = new DateTime('+1day');
$tomorrow = $d->format('d/m/Y h.i.s');
echo $tomorrow;
Ergebnisse: 28/06/2017 08.13.20
Um morgen von einem Date zu bekommen:
$d = new DateTime('2017/06/10 08.16.35 +1day')
$tomorrow = $d->format('d/m/Y h.i.s');
echo $tomorrow;
Ergebnisse: 11/06/2017 08.16.35
Ich hoffe es hilft!
/**
* get tomorrow's date in the format requested, default to Y-m-d for MySQL (e.g. 2013-01-04)
*
* @param string
*
* @return string
*/
public static function getTomorrowsDate($format = 'Y-m-d')
{
$date = new DateTime();
$date->add(DateInterval::createFromDateString('tomorrow'));
return $date->format($format);
}
Seltsamerweise kann es scheinen, dass es vollkommen gut funktioniert: date_create( '2016-02-01 + 1 day' );
echo date_create( $your_date . ' + 1 day' )->format( 'Y-m-d' );
Sollte es tun
Erstens ist es immer ein Schlüssel, korrekte Abstraktionen zu finden. Schlüssel zur Lesbarkeit, Wartbarkeit und Erweiterbarkeit.
Hier ist ein ganz offensichtlicher Kandidat ein ISO8601DateTime. Es gibt mindestens zwei Implementierungen: Die erste ist eine analysierte Datums- / Uhrzeitangabe aus einer Zeichenfolge und die zweite ist morgen. Daher können zwei Klassen verwendet werden, und ihre Kombination führt zu (fast) gewünschten Ergebnissen:
new Tomorrow(new FromISO8601('2013-01-22'));
Beide Objekte haben eine ISO8601-Datums- / Uhrzeitangabe, sodass ihre Textdarstellung nicht genau Ihren Anforderungen entspricht. Der letzte Strich besteht also darin, sie in eine Datumsform zu bringen:
new Date(
new Tomorrow(
new FromISO8601('2013-01-22')
)
);
Da Sie eine Textdarstellung benötigen, nicht nur ein Objekt, rufen Sie eine value()Methode auf.
Weitere Informationen zu diesem Ansatz finden Sie in diesem Beitrag .
Hier ist die Arbeitsfunktion
function plus_one_day($date){
$date2 = formatDate4db($date);
$date1 = str_replace('-', '/', $date2);
$tomorrow = date('Y-m-d',strtotime($date1 . "+1 days"));
return $tomorrow; }
$date = '2013-01-22';
$time = strtotime($date) + 86400;
echo date('Y-m-d', $time);
Wobei 86400 die Anzahl der Sekunden an einem Tag ist.