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?


"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);

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;

51
24 * 60 * 60 = 86400 (könnte jemandem ein paar Sekunden sparen)
Andrew


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);

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 .


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";
?>

0
$time = date("H:i", strtotime($today . " +5 hours +30 minutes"));
//+5 hours +30 minutes     Time Zone +5:30 (Asia/Kolkata)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.