Timestamp immer auf Tag + 0:00 Uhr setzen

bfsdasauge

Erfahrenes Mitglied
Ich möchte einen x-beliebigen Timestamp so manipulieren, dass er immer zum jeweiligen Tag auf 0:00 Uhr gesetzt wird.

Beispiel:

Vorher:
Timestamp: 1083146832 -> 28.04.2004 12:07

Nachher:
Timestamp: ? -> 28.04.2004 0:00

Ich habe es wie folgt versucht. Es klappt aber ned...

$heute = timestamp(); // Funktion zum ermitteln des verwendeten Timestamps
$anf_termin = floor ($heute / 86400) * 86400;

Es kommt aber immer ein Timestamp raus, der formatiert so aussieht:
1083110400 -> 28.04.2004 2:00.

Die Ausgabe ist i.Ü. wie folgt: date("d-m-Y G:i",$anf_termin)
 
Es kommt aber immer ein Timestamp raus, der formatiert so aussieht:
1083110400 -> 28.04.2004 2:00.

Wenn der wirklich IMMER so aussieht, warum ziehst du dann nicht einfach 2 Stunden ab? wären 2*60*60 Sekunden

oder seh ich da was falsch?
 
Probiers doch mal so:

PHP:
//Datum zerlegen
 list($d,$m,$y) = explode('.', date("d.m.Y",$anf_timestamp));
//Timestamp erzeugen
$timestamp    = mktime(0,0,0,$m,$d,$y);
 
Zuletzt bearbeitet:
:-) Das stimmt schon. Aber es gefällt mir ned.

Eigentlich soll doch die Logik richtig sein. Der Workaround wäre die letzte Lösung...

Wenn ich den Algorythmus auflöse sieht das ja wie folgt aus:
1083146832 / 86400 = 12536, 421....

Darauf den floor angesetzt sollte es so aussehen: 12536
D.h. es handelt sich um den 12536. Tag nach dem 1.1.1970 0:00

Und wenn ich jetzt die Tagesszahl mit 86400 multipliziere, müsste doch eigentlich der Timestamp für den 28.04.04 0:00 rauskommen.

@Ben Ben: Die Lösung ist besser :-) Manchmal hat man einen echten Knoten im Kopf.
Danke
 
Zurück