online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon PowderEdge vom 25.08.2019, 18:34 Options

Datumsangaben in einen Timestamp kriegen?

Hallo,
habe gerade ein kleines Problem.
Ich habe Datumsangaben ganz verschiedener Art, z.B. "Dez 99" oder "22. April 1998" oder einfach nur "99", wirklich alles mögliche! Wie kriege ich die denn jetzt ordentlich in einen Timestamp konvertiert? Mit unendlich komplizierten Regular Expressions oder geht das auch in einfach?
Ich würde die dann gerne in die Datenbank speichern aber bei der Wiederausgabe hab ich ja wieder ein Problem. Wie formatiere ich den Timestamp? Ich mein wenn ich ihn regulär ausgebe steht ja bei vielen Timestamps, z.B. bei denen wo nur ein Jahr angeben wurde, nur 01 Januar 2005 - was natürlich nicht richtig ist schliesslich weiss ich den Monat ja einfach nicht!
Gibt es für dieses Problem eine Lösung ohne das ich bei den ausführlichen Datumsangaben einen Teil der Informationen verliere?


Antwort schreiben

Antwort 1 von tschum vom 27.08.2019, 09:37 Options

Zitat:
Wie kriege ich die denn jetzt ordentlich in einen Timestamp konvertiert?

das geht nicht. wie du ja schon selbst gemerkt hast, gibt es keinen unix-timestamp, der zb. das jahr 1999 repräsentiert. du musst dir eine andere repräsentation überlegen.

Zitat:
Mit unendlich komplizierten Regular Expressions oder geht das auch in einfach?

diese aufgabe ist automatisch unlösbar, solange du nicht eine vollständige liste aller möglichen vorkommenden datums/zeitformate erstellt hast. um diese liste computergestützt zu erarbeiten, kannst du aber durchaus einfache reg.exps benutzen.

Antwort 2 von PowderEdge vom 27.08.2019, 11:02 Options

Danke tschum,
manchmal hilft es schon wenn einem erklärt wird was alles nicht möglich ist.
Ich habe mir es jetzt so gelöst: 2 Spalten, eine für Zeit und eine für das Datum, wenn keine Uhrzeit bekannt ist ist das Feld leer, das Datum wird in folgendes Format konvertiert: TT.MM.JJJJ, wenn der Tag nicht bekannt ist wird dort einfach 0 eingetragen ebenso beim Monat, da es bekanntermaßen keinen Tag 0 und keinen Monat vor Januar gibt, lässt sich so einfach abfangen welche Angaben gemacht wurden!
Grüße,
PowderEdge

Ähnliche Themen

MySQL: Varchar in Timestamp umwandeln
roadrunner123  15.01.2007 - 131 Hits - 1 Antwort

Datumsangaben
slipknot666  10.06.2007 - 70 Hits - 3 Antworten

Timestamp für - vor24 Stunden
ChrisStarhemberg  10.08.2007 - 82 Hits - 2 Antworten

MySQL sortieren und zählen
AlexandraZartl  10.09.2007 - 33 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026