Wie füge ich einem Unix-Zeitstempel in PHP 24 Stunden hinzu?

119

Ich möchte dem Zeitstempel vorerst 24 Stunden hinzufügen. Wie finde ich die Unix-Zeitstempelnummer für 24 Stunden, damit ich sie jetzt zum Zeitstempel hinzufügen kann?

Ich möchte auch wissen, wie man dem aktuellen Zeitstempel 48 Stunden oder mehrere Tage hinzufügt.

Wie kann ich das am besten machen?

Zeckdude
quelle
"Wie füge ich 48 Stunden oder mehrere Tage hinzu?" - Sind Sommerzeiten ein Problem?
VolkerK
1
Ich möchte auf die Antwort von Álvaro G. Vicario hinweisen. Das Hinzufügen von einfachen 24 Stunden ist möglicherweise nicht in jedem Fall das, was Sie möchten.
Boldewyn
1
Yepp, deshalb wollte ich wissen, ob zeckdude dst kennt und ob es ihn betrifft.
VolkerK

Antworten:

301

Sie möchten wahrscheinlich einen Tag anstatt 24 Stunden hinzufügen. Nicht alle Tage haben 24 Stunden, unter anderem aufgrund der Sommerzeit:

strtotime('+1 day', $timestamp);
Álvaro González
quelle
6
Der Fall ist nicht so dunkel, da alle anderen Codes früherer Fragen am nächsten Sonntagmorgen brechen. +1
Boldewyn
Mein Code war der Meinung, dass der März aufgrund dieses Falls 32 Tage hatte. Es ist daher ratsam, die Sommerzeit im Auge zu behalten, es sei denn, Sie arbeiten ausschließlich mit GMT.
Nichtigkeit
85

Ein Unix-Zeitstempel ist einfach die Anzahl der Sekunden seit dem ersten Januar 1970. Um einem Unix-Zeitstempel 24 Stunden hinzuzufügen, fügen wir einfach die Anzahl der Sekunden in 24 Stunden hinzu. (24 * 60 * 60)

time() + 24*60*60;
Yacoby
quelle
51
24 * 60 * 60 = 86400 (könnte jemandem ein paar Sekunden sparen)
Andrew
20

Fügen Sie 24*3600die Anzahl der Sekunden in 24 Stunden hinzu

Soufiane Hassou
quelle
16

Der Unix-Zeitstempel wird in Sekunden angegeben. Fügen Sie dem Zeitstempel einfach die entsprechende Anzahl von Sekunden hinzu:

$timeInFuture = time() + (60 * 60 * 24);
reko_t
quelle
14

Sie können auch die DateTime- Klasse verwenden:

$timestamp = mktime(15, 30, 00, 3, 28, 2015);

$d = new DateTime();
$d->setTimestamp($timestamp);

Fügen Sie einen P eriod von 1 D ay:

$d->add(new DateInterval('P1D'));
echo $d->format('c');

Weitere Informationen finden Sie unter DateInterval .

SeanJA
quelle
0

Wie Sie bereits gesagt haben: Wenn Sie dem Zeitstempel vorerst 24 Stunden hinzufügen möchten, können Sie einfach Folgendes tun:

 <?php echo strtotime('+1 day'); ?>

Der obige Code fügt Ihrem aktuellen Zeitstempel 1 Tag oder 24 Stunden hinzu.

anstelle von +1 dayIhnen können nehmen , was Sie wollen , wie PHP - Handbuch sagt strtotime Parse kann über jede englische Beschreibung Datetime in einen Unix - Zeitstempel textliche .

Beispiele aus dem Handbuch sind wie folgt:

<?php
     echo strtotime("now"), "\n";
     echo strtotime("10 September 2000"), "\n";
     echo strtotime("+1 day"), "\n";
     echo strtotime("+1 week"), "\n";
     echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
     echo strtotime("next Thursday"), "\n";
     echo strtotime("last Monday"), "\n";
?>
Haritsinh Gohil
quelle
0
$time = date("H:i", strtotime($today . " +5 hours +30 minutes"));
//+5 hours +30 minutes     Time Zone +5:30 (Asia/Kolkata)
SARADA PRASAD BISWAL
quelle