Datumsproblem

hans_schmid

Erfahrenes Mitglied
Hallo,

ich habe ein kleines Problem, was die Ausgabe von Datums (jaja... Daten, passt hier aber nicht ;-) ) angeht.

Wenn ich ein, in der DB gespeichertes, Datum-Feld auslesen will, bekomm ich bei unformartierter Ausgabe folgendes:

2001-08-09 00:00:00

Das will ich nun formatieren in 09.08.2001.
Soweit so gut... jetzt habe ich schon alles versucht, was mir date() zusammenhängt.
PHP:
date("d.m.y.", $briefingdatum)
liefert als Ergebnis für jeden Datensatz

01.01.70.

Eine einfache "Umschreibung" des Datums kann ich auch nicht machen, weil ich später den Wochentag des Datums ermitteln will.

Woran kann das liegen, dass date() immer den 1.1.1970 ausgibt?

Kann es evtl. sein, dass die Datums-Werte "falsch" gespeichert wurden?
Es handelt sich nämlich um eine ColdFusion-Applikation, die nach PHP umgeschrieben werden soll. Als DB dient ne Acces-Datenbank.

Wäre für jede Hilfe dankbar!

MfG
Hans

EDIT:
ich habe auch schon versucht, aus dem DB-Datum einen Timestamp zu generieren
Code:
date("d.m.Y.", mktime($briefingdatum))
aber dann wird für jeden Datensatz der 29.11.2004 ausgegeben... :rolleyes:
 
Zuletzt bearbeitet:
Einfacher ist es direkt das ganze richtig aus der DB zu holen.
Hierzu einfach DATE_FORMAT verwenden. Die genauen parameter entnimmst du am besten der Doku von http://dev.mysql.com
Ein Beispiel ohne garantie auf die Formatierungsparameter wäre

SELECT DATE_FORMAT(`datumsspalte`, '%d.%m.%Y') AS datumsspalte ...
 
Das habe ich auch schon versucht...

Kann es sein, dass die Funktion nur bei MySQL-Datenbanken geht?
Ich bekomme so nämlich immer folgenden Fehler:

Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Undefinierte Funktion 'DATE_FORMAT' in Ausdruck., SQL state 37000 in SQLExecDirect in ***\data.php on line 49


Code:
SELECT DATE_FORMAT(`briefingdatum`, '%d.%m.%Y') AS briefingdatum FROM previsitpackage
 
Du kannst das wohl mit FORMAT() in Access machen...
Müsste nach ner Aussage von nem Kollegen von mir so irgendwie
gehen:

SELECT FORMAT(feld, hierdanndieformatierung)

anaonsten mal danach googlen.
 
Nachtrag noch:
die PHP Funktion date() erwartet als zweitern Parameter einen UnixTimestamp insofer kann bei der Angabe deines Datums-Strings hier nix vernünftiges herauskommen.

Schau dir mal die PHP Funktion scanf an. Damit kannst du warscheinlich recht einfach den String umformatieren.
sscanf()
 
Zurück