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