2k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo Leute,

ich habe folgendes nicht triviales Problem:

Datum in dt. Schreibweise per Formular erfassen und in einer SQLITE Datenbank speichern.

Bsp: 03.05.2009

SQLITE kennt kein DATE format und kann folglich nicht entsprechend sortieren, also Lösung: a) speichern als verkehrten String oder b) als Timestamp-String.

a) Speicherformart: Bsp. 2009-05-03

Wie mache ich aus 03.05.2009 den String 2009-05-03 und umgekehrt?

b) Wie erzeuge ich aus 03.05.2009 einen Unix-Timestamp zum speichern und umgekehrt? Ausreichend ist das Datum, die Uhrzeit ist unwichtig.

Vielen Dank vorab!

1 Antwort

0 Punkte
Beantwortet von supermax Experte (4.8k Punkte)
Ich würde erst mit einem regulären Ausdruck überprüfen, ob die Eingabe formal gültig ist (also ob Tag, Monat und Jahr angegeben sind) und dann mit strtotime() direkt aus dem String oder mit mktime() aus den einzelnen Teilen einen Timestamp generieren. Diesen kannst du dann formatieren, wie du ihn für deine Anwendungen benötigst.
...