Verschiedene Datumsformate portieren
Moderator: Moderatoren
-
- Cut&Paste-Entwickler
- Beiträge: 49
- Registriert: So, 02. Mär 2014 16:36
Verschiedene Datumsformate portieren
Hallo allerseits,
ich versuche gerade eine bestehende Datenbank nach Xbase++ zu portieren. Dabei ist mir aufgefallen, dass in dem bestehenden "Datumsfeld" verschiedene Datumsformate existieren.
z. B.:
14.04.2020
04.14.2020
Hat jemand eine Idee, wie ich die elegant portieren kann? Ich möchte ja schließlich in der neuen Datenbank keinen mischmasch haben.
ich versuche gerade eine bestehende Datenbank nach Xbase++ zu portieren. Dabei ist mir aufgefallen, dass in dem bestehenden "Datumsfeld" verschiedene Datumsformate existieren.
z. B.:
14.04.2020
04.14.2020
Hat jemand eine Idee, wie ich die elegant portieren kann? Ich möchte ja schließlich in der neuen Datenbank keinen mischmasch haben.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Verschiedene Datumsformate portieren
wenn du in der Zeile keinen Hinweis auf die Herkunft hast, dann hast du echt ein Problem.
04.14.2020 ist ja eindeutig, wobei eigentlich keine Punkte da sein sollten sondern /, aber 03.05.2020 nicht !
DBF speichert intern daher das Datum immer JJJJMMTT ... wenn du nur Text hast und dort gemischt TT.MM.JJJJ und MM.TT.JJJJ dann gute Nacht.
04.14.2020 ist ja eindeutig, wobei eigentlich keine Punkte da sein sollten sondern /, aber 03.05.2020 nicht !
DBF speichert intern daher das Datum immer JJJJMMTT ... wenn du nur Text hast und dort gemischt TT.MM.JJJJ und MM.TT.JJJJ dann gute Nacht.
Gruß
Hubert
Hubert
-
- Cut&Paste-Entwickler
- Beiträge: 49
- Registriert: So, 02. Mär 2014 16:36
Re: Verschiedene Datumsformate portieren
Genau das ist das Problem, es ist kein Datumsfeld, sondern ein Textfeld und die Einträge bunt gemischt .
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Verschiedene Datumsformate portieren
da hast du wohl kaum eine Chance. Wenn Müll drinsteht, kann auch nur Müll rauskommen. ich würde das Datumsfeld dabei komplett weglassen und das dem Auftraggeber auch so mitteilen, das dies nur Chaos verursachen kann. wenn er dennoch darauf besteht, ist das sein Problem und er muss die Daten händisch korrekt bereinigen - aber immer schriftlich festhalten.
- Bertram Hansen
- Foren-Moderator
- Beiträge: 1015
- Registriert: Di, 27. Sep 2005 8:55
- Wohnort: 51379 Leverkusen
- Hat sich bedankt: 28 Mal
- Danksagung erhalten: 20 Mal
- Kontaktdaten:
Re: Verschiedene Datumsformate portieren
Hallo xdragon2009,
wie wird den aktuell vom Programm her dieses Feld angesprochen / ausgewertet? Vielleicht kannst du da irgendwelche Rückschlüsse draus ziehen.
wie wird den aktuell vom Programm her dieses Feld angesprochen / ausgewertet? Vielleicht kannst du da irgendwelche Rückschlüsse draus ziehen.
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.
Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
- Manfred
- Foren-Administrator
- Beiträge: 21197
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Verschiedene Datumsformate portieren
naja, die Frage ist um wieviel Sätze geht es? Evtl. erleichtert es die spätere Arbeit, wenn Du alles was in der Mitte einen höheren Wert als 12 hat, schonmal auf jeden Fall als falsch ansiehst und dann die ersten beiden Stellen gegen die 2.Stellen vertauschst und somit ein gültiges Datum bekommst. Muß aber letztendlich der entscheiden, der mit den Daten weiter arbeiten muß. Und wenn die ersten beiden Ziffern über 12 sind, stehen die auch schon mal richtig
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Verschiedene Datumsformate portieren
Wir importieren immer so viel wie möglich und weisen die Kunden darauf hin, dass die Daten unbedingt kontrolliert werden müssen. Also wenn CtoD() etwas Vernünftiges liefert, dann nimmt man es, und wenn nicht, dann eben nicht - das Ziel-Datumsfeld bleibt dann leer. Möglicherweise gibt es für die verkehrte Notation (eigentlich verwendet niemand MM.TT.JJJJ, sondern MM/TT/JJJJ!) Hinweise, etwa ein Feld mit dem Herkunftsland des Kontakts o.ä.. Wenn es nur Typos sind, hat der Versuch, das plausibel zu korrigieren, keinen Sinn, denn es gibt ja, wie hier schon angemerkt wurde, Fälle, in denen beide Notationen sinnvolle Ergebnisse liefern (01.02.2020).
Herzlich,
Tom
Tom
- BJelinek
- Rekursionen-Architekt
- Beiträge: 218
- Registriert: Sa, 02. Jun 2012 20:57
- Wohnort: 73257 Köngen
- Hat sich bedankt: 9 Mal
- Danksagung erhalten: 3 Mal
Re: Verschiedene Datumsformate portieren
Hallo xdragon2009,
vielleicht gibt ja ein anderes Feld in der Datenbank einen Hinweis ,
ob das Datum Deutsch oder Englisch ist.
z.B. Sprache = e ist mm.tt.jjjj
Sprache = d ist tt.mm.jjjj
vielleicht gibt ja ein anderes Feld in der Datenbank einen Hinweis ,
ob das Datum Deutsch oder Englisch ist.
z.B. Sprache = e ist mm.tt.jjjj
Sprache = d ist tt.mm.jjjj
Grüße
Bernd
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Bernd
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Verschiedene Datumsformate portieren
Das gleiche hatte ich vorher auch schon geschrieben, Bernd.
Herzlich,
Tom
Tom
- BJelinek
- Rekursionen-Architekt
- Beiträge: 218
- Registriert: Sa, 02. Jun 2012 20:57
- Wohnort: 73257 Köngen
- Hat sich bedankt: 9 Mal
- Danksagung erhalten: 3 Mal
Re: Verschiedene Datumsformate portieren
Hallo Tom,
du warst schneller.
habe auf Manfreds Post geschrieben
und Deinen nicht gesehen beim schreiben.
du warst schneller.
habe auf Manfreds Post geschrieben
und Deinen nicht gesehen beim schreiben.
Grüße
Bernd
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Bernd
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Manfred
- Foren-Administrator
- Beiträge: 21197
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Verschiedene Datumsformate portieren
ich heiße doch gar nicht xdragon2009
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Verschiedene Datumsformate portieren
hi,
wenn man "unterschiedliche" DBF Dateien hat sollte man die Codepage überprüfen und eine entsprechende Konvertierung starten.
wenn man "unterschiedliche" DBF Dateien hat sollte man die Codepage überprüfen und eine entsprechende Konvertierung starten.
gruss by OHR
Jimmy
Jimmy
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Verschiedene Datumsformate portieren
Und sich dabei Salz auf die Schulter streuen.
Was soll die falsche Eingabe von Datumsinformationen mit der Codepage zu tun haben, Jimmy?
Was soll die falsche Eingabe von Datumsinformationen mit der Codepage zu tun haben, Jimmy?
Herzlich,
Tom
Tom
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Verschiedene Datumsformate portieren
und Corona ohne Maske ...
arbeitest du mit DBF Dateien die "nicht Deutsch" sind
da das "Datum" in einem Text Feld steht wird die Tastatur Belegung des OS verwendet und der User gibt es so ein "wie gewohnt"
an Hand der Codepage "könnte" man darauf schliessen "wie" das Datum Format sein "soll".
arbeitest du mit DBF Dateien die "nicht Deutsch" sind
da das "Datum" in einem Text Feld steht wird die Tastatur Belegung des OS verwendet und der User gibt es so ein "wie gewohnt"
an Hand der Codepage "könnte" man darauf schliessen "wie" das Datum Format sein "soll".
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Verschiedene Datumsformate portieren
wenn die Quelldatei eine DBF wäre, dann hätte er kein Problem, kein normal denkender Anwender hat in einer DBF jemals ein Textfeld statt einem Datumsfeld verwendet (auch seit dBase nicht) ... warum dann ein Entwickler
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Verschiedene Datumsformate portieren
unter dBase ][ gab es kein Type "D" in der "7-Bit" DBF
erst mit dbase III kam die "8-Bit" DBF und man musste die dBase ][ DBF "konvertieren" damit die unter dBase III liefen.
damit kam dann neue Feld Type wie "D", "L" ... aber wie sollte man die "sortieren" ( Index )
da es "vorher" per String funktionierte hat man es gelassen ... funktioniert doch ...
die Lage hat sich dann mit dem Y2K Problem geändert da nun auch die EPOCH eine Rolle spielte also nun auf Type "D" und CENTURY ON
---
wenn man nun so "komische" DBF Dateien in die Hand bekommt "könnte" es sein das die verwendete Codepage einem dabei hilft eine Lösung zu finden. ob Xbase++ dann damit klar kommt ist einen andere Sache.
gruss by OHR
Jimmy
Jimmy
-
- Cut&Paste-Entwickler
- Beiträge: 49
- Registriert: So, 02. Mär 2014 16:36
Re: Verschiedene Datumsformate portieren
Hallo und vielen Dank für eure Anregungen und Tipps.
Der Programmierer hat ein Textfeld verwendet, um das Datum und sonstige Zusätze darin zu speichern. Welchen Sinn das hat, kann man leider nicht erkennen und den Programmier auch leider nicht mehr fragen.
Ich werde jetzt die Werte so weit möglich übertragen mit dem Hinweis an den Auftraggeber, dass dies nicht korrekt sein muss. Da es sich um über 50.000 Datensätze handelt, ist eine manuelle Prüfung natürlich nicht möglich.
Der Programmierer hat ein Textfeld verwendet, um das Datum und sonstige Zusätze darin zu speichern. Welchen Sinn das hat, kann man leider nicht erkennen und den Programmier auch leider nicht mehr fragen.
Ich werde jetzt die Werte so weit möglich übertragen mit dem Hinweis an den Auftraggeber, dass dies nicht korrekt sein muss. Da es sich um über 50.000 Datensätze handelt, ist eine manuelle Prüfung natürlich nicht möglich.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Verschiedene Datumsformate portieren
dBase II hab ich nie gesehen, ich kam mit Clipper s87 gleich zu den richtigen DBF.AUGE_OHR hat geschrieben: ↑Di, 14. Apr 2020 22:33unter dBase ][ gab es kein Type "D" in der "7-Bit" DBF
erst mit dbase III kam die "8-Bit" DBF und man musste die dBase ][ DBF "konvertieren" damit die unter dBase III liefen.
damit kam dann neue Feld Type wie "D", "L" ... aber wie sollte man die "sortieren" ( Index )
da es "vorher" per String funktionierte hat man es gelassen ... funktioniert doch ...
Wer den alten "Sch..." (falscher Datentyp) immer noch macht gehört eh gefeuert ...
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Verschiedene Datumsformate portieren
das ist wohl überflüssig
das zeigt aber auch "wie" alt die App wohl war und die Erklärung liefert die Zeitund den Programmier auch leider nicht mehr fragen.
gruss by OHR
Jimmy
Jimmy
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2515
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Verschiedene Datumsformate portieren
dBaseII kam zuerst auf dem Betriebssystem CP/M auf den Markt. Das nutzte damals einen 7-Bit Zeichensatz.
Damals war beim entwicklen noch "Kampf" um jedes Byte angesagt. Reste von diesen "Kämpfen" finden sich noch heute an vielen Stellen.....
Später wurde dBase von Aston Tate auf den PC gebracht was damals mit dBase III ungeheueren Luxus und Komfort auf den PC brachte.
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Verschiedene Datumsformate portieren
Aber hallo.Reste von diesen "Kämpfen" finden sich noch heute an vielen Stellen.....
Ich glaube, das ist vielen nicht eben leichtgefallen, sich von solchen Paradigmen zu lösen. Sparsamkeit, Geschwindigkeitsoptimierung und Schlankheit waren vor noch zwei, drei Jahrzehnten oberste Maxime beim Programmieren. Und Leute, die das so gelernt haben, dampfen auch heute noch Variablennamen auf kryptische Abkürzungen ein, beispielsweise.
Herzlich,
Tom
Tom
- HaPe
- 1000 working lines a day
- Beiträge: 996
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 15 Mal
Re: Verschiedene Datumsformate portieren
Ich habe mit dBaseII 1986 auf einem 4,7 Mhz XT mit zwei 360 kb Laufwerken angefangen.
1-stellige Variablen habe ich nie benutzt.
Ich bin zwar lange dabei, aber spätestens mit dBaseIII+ waren meine Variablennamen 10 Zeichen langUnd Leute, die das so gelernt haben, dampfen auch heute noch Variablennamen auf kryptische Abkürzungen ein, beispielsweise.
1-stellige Variablen habe ich nie benutzt.
--
Hans-Peter
Hans-Peter
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Verschiedene Datumsformate portieren
Von einstelligen Variablennamen habe ich auch nicht gesprochen, HaPe.
Herzlich,
Tom
Tom