3Danke
ERLEDIGT
JA
JA
ANTWORTEN
14
14
ZUGRIFFE
1246
1246
EMPFEHLEN
-
Hallo,
habe ein Skript, in dem das Datum als Unix-Timestamp in einer MySQL-DB gespeichert wurde. Kann man ein Datum, z.B. 01.01.2000 auch in den Unix-Timestamp umwandeln? Hintergrund der Frage ist der, dass man nach Datum suchen können sollte, aber da der Timestamp gespeichert wurde, wird eine einfache MySQL-Abrfrage mit dem Wert 01.01.2000 nicht funktionieren.
-
09.05.07 10:32 #2
mktime()
Alternativ kannst du dir auch die SQL Funktion FROM_UNIXTIME anschauen, siehe hier:
http://dev.mysql.com/doc/refman/5.1/...functions.htmlGeändert von Flex (09.05.07 um 10:40 Uhr)
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
09.05.07 10:33 #3
- Registriert seit
- Mar 2007
- Beiträge
- 55
mktime is dein Befehl...
oO war wer schneller*g*Nur der Kleingeist hält Ordnung - Das Genie überblickt das Chaos
~aktuelles Projekt: http://soundinmotion.at
-
Und ich war der langsamste...

mktime — Gibt den Unix-Timestamp/Zeitstempel für ein Datum zurück
int mktime ( [int $Stunde [, int $Minute [, int $Sekunde [, int $Monat [, int $Tag [, int $Jahr [, int $is_dst]]]]]]] )
$var = mktime(0,0,0,01,01,2000)
in $var sollte nun deine Timestamp drin sein...Die Welt ist binär: Entweder man ist eine Eins oder eine Null, tot oder lebendig! - Und ich? Lebe...
-
Du solltest wissen, dass ein Unix-Zeitstempel immer genau einen Zeitpunkt beschreibt und nicht einen Zeitraum. Einen Tag, also einen Zeitraum von 86400 Sekunden, damit abzubilden, ist nicht besondern effizient.
Markus Wulftange
-
Vielen Dank an alle für die Antworten.
-
Hallo,
habe doch noch eine Frage zur Umsetzung. Wie könnte ich am Besten ein Suchformular umsetzen, indem ich nach einem Datum suche (z.B. 01.01.2000), wenn in der Datenbank ein Unix-Timestamp gespeichert wurde.
$var = mktime(0,0,0,01,01,2000) funktioniert hier ja nicht. Wie wandle ich das am effizientesten um, so dass auch möglichst gute Suchergebnisse geliefert werden? Danke für evtl. Antworten.
-
11.05.07 21:07 #8
Du bekommst ja ein Datum, sprich einen Tag, dann formst du zwei Zeitstempel daraus, einmal 0:00:00 Uhr und einmal 23:59:59 und suchst in der Datenbank mit BETWEEN alle Zeitstempel raus, die dazwischen liegen.
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Vielen Dank. Das mit der Abfrage wäre kein Problem, wie forme ich aber die Zeitstempel für den entsprechenden Tag?
Dann habe ich noch etwas, was ich nicht verstehe.
Ich habe einen Zeitstempel von 1178694227, was dem 09.05.2007 - 09:03:47 entpsricht. Wenn ich mir jetzt mit echo mktime (09,03,47,05,09,2007) ausgeben lasse, erhalte ich jedoch einen Zeitstempel von 1177884227 zurück, das entspräche einem Datum von 30.04.2007 - 00:03:47. Wie kommt das zustande?
-
12.05.07 15:31 #10
Das liegt an den führenden Nullen.
Entweder du übergibst sie als String
Oder ohne die führenden Nullen:PHP-Code:mktime("09", "03", "47", "05", "09", "07")
PHP-Code:mktime(9, 3, 47, 5, 9, 7)
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Danke, das wars. Das mit dem Definieren des Tages eines Zeitstempels habe ich jetzt auch umgesetzt. Ein kleines Problem besteht allerdings noch. Ich habe ein Suchfeld ($search). In das gebe ich das zu suchende Datum ein (Eingabe: 5,9,2007). So versuche ich dann mit den Werten umzugehen:
$date1 = mktime (0,0,0,$search);
$date2 = mktime (23,59,59,$search);
Wenn ich die Daten ausgebe, erhalte ich jedoch den 12.05.2007, statt den 09.05.2007. Habe es auch schon so versucht: ("23","59","59","$search").
-
12.05.07 16:31 #12Wenn du nur $search angibst, wird er es meiner Meinung nach nicht richtig interpretieren.PHP-Code:
$partials = explode(",", $_POST['eingabe']);
$date2 = mktime (23,59,59,$partials[0], $partials[1], $partials[2]);
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Ich danke dir vielmals, das hat funktioniert. Meinst Du es gibt noch einen Weg, dass ich evtl. ein Datumsformat wählen kann wie 09.05.2007 oder gar 05.09.2007, also mit Punkten und dem Tag als ersten Wert?
-
12.05.07 16:39 #14
/Edit:
Natürlich.
Nehmen wir mal an, du bekommst den Wert so: 05.09.2007, also Tag.Monat.Jahr
Dies dann einfach bei mktime verwendenPHP-Code:$string = "05.09.2007";
$partials = explode(".", $string);
echo $partials[0]; # Tag
echo $partials[1]; # Monat
echo $partials[2]; # Jahr
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Mensch klar, hab vielen Dank für deine Hilfe.
Ähnliche Themen
-
mysql datetime in unix timestamp umwandeln?
Von bad taste im Forum PHPAntworten: 7Letzter Beitrag: 18.12.10, 12:52 -
unix-timestamp umwandeln
Von Calizo im Forum Sonstige SprachenAntworten: 1Letzter Beitrag: 05.07.07, 16:50 -
Datum in Unix timestamp konvertieren
Von chaosgenie im Forum JavaAntworten: 1Letzter Beitrag: 03.01.07, 13:17 -
Datum + Zeit zu in Unix Timestamp umwandeln
Von buzzom im Forum PHPAntworten: 4Letzter Beitrag: 13.09.06, 12:28 -
Unix Timestamp mix xsl umwandeln
Von DeeFour im Forum XML TechnologienAntworten: 0Letzter Beitrag: 27.10.04, 17:01





Zitieren

Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen