Entwickler-Ecke
Programmiersprachen (Server) - [php]Datum zu Timestamp formatieren
Marco D. - Di 31.07.07 14:59
Titel: [php]Datum zu Timestamp formatieren
Ich möchte den UNIX-Timestamp der ersten Sekunde eines bestimmten Tages herausfinden.
Hintergrund:
Ich entwickle einen Eventlogger. Beim Abspeichern eines Events wird die aktuelle Zeit als Timestamp in der DB hinterlegt. Nun möchte ich anhand eines Datums alle Events auflisten lassen, die genau an diesem Tag passiert sind. Also muss der Timestamp eines Events, dass in Frage kommt, größer als die erste Sekunde des Tages und kleiner als die nächste Sekunde das folgenden Tages sein. Ist das richtig?
Zum Umwandeln eines Timestamps in ein Datum verwende ich:
C#-Quelltext
1: 2: 3: 4:
| public function ListByDate($date) { $stamp = strtotime($date); ... } |
Und wie erhöhe ich $date um 1, also wie gehe ich zum nächsten Tag?
Das Datumsformat wird dd.mm.yyyy sein.
ene - Di 31.07.07 15:02
Hi,
reicht es nicht einfach den entsprechenden Tag abzufragen? Denn 24:00 gibt es nicht und bei 23:59:59 ist der Tag zu ende.
BenBE - Di 31.07.07 20:08
Typische Anwendung für mktime:
1. Abzufragendes Datum getrennt in Tag, Monat und Jahr angeben und an mktime übergeben
2. Zum Datum 86400 addieren
3. Filtern nach Start <= Datum < Ende
Arne K. - Di 31.07.07 22:05
Ganz ehrlich? Ich würde mir das Theater mit den Timestamps sparen:
Quelltext
1: 2: 3:
| if(date('dmY') === date('dmY', $timestamp)) { // Whatsoever } |
BenBE - Mi 01.08.07 09:56
Nur schade, dass die meisten DBs date nicht direkt unterstützen für Timestamps ;-) Von daher ist es normales Vorgehen, das über die Timestamps zu machen. die von der DB unterstützen Datum-\Zeit-Funktionen sind zwar gut und schön, wenn man aber nur filtern muss, sind numerische Abfragen nach den Unix-Timestamps schneller.
Arne K. - Mi 01.08.07 14:01
Sicher, aber man erspart sich das rumrechnen und der Code wird (meiner Meinung nach) übersichtlicher.
Und ich denke, PHP hat ganz andere Geschwindigkeitslecks, als dass eine Umformung zweier Timestamps ins Gewicht fallen würden ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!