AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datumformatierung

Ein Thema von Moony · begonnen am 28. Apr 2011 · letzter Beitrag vom 28. Apr 2011
Antwort Antwort
Seite 1 von 2  1 2      
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

Datumformatierung

  Alt 28. Apr 2011, 10:18
Hallo zusammen,

ich habe folgende Situation:

Ich habe ein Datum als String in folgendem Format: YYMMDD. Nun möchte ich die einzelnen Werte extrahieren. Das führe ich mit einem Decode(StrToDate(myString), y, m, d) aus.
Das Problem ist, dass das Datum vor der Umwandlung ins TDateTime Objekt eine 80 für 1980 hat und nach dem dekodieren eine 2080 fürs Jahr.

Gibt es irgendwelche Methoden oder sonstiges die dieses Problem mit dem Jahrtausendwechsel behandeln?

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Datumformatierung

  Alt 28. Apr 2011, 10:20
Wenn da nur 80 steht, woher willst Du genau wissen, ob es 1980 oder 2080 sein soll? Soll es immer 1980 sein, setz halt vor der Umwandlung ein '19' davor.

[edit] Andere Möglichkeit: Datum wie gehabt umwandeln und wenn es in der Zukunft liegt, 100 Jahre abziehen DateUtils.IncYear(Datum, -100); [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (28. Apr 2011 um 10:31 Uhr)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Datumformatierung

  Alt 28. Apr 2011, 10:31
Willst du das Datum des aktuellen Tages auslesen?
Oder wer gibt dir den String vor, in dem dein Datum steht?

Lol @Detlef: Du hast die gleiche Signatur wie ich.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Datumformatierung

  Alt 28. Apr 2011, 10:34
Vermutlich wird das Datum aus irgendeinem Datenbestand kommen, sonst wäre das ja einfach zu beheben.

P.S.: Meine Sig is öller
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Datumformatierung

  Alt 28. Apr 2011, 10:39
Ja da wirste wohl recht haben, dass das Datum irgendwo aus evtl. einer DB o.Ä. ausgelesen wird. Dazu sollte sich der liebe Herr "Threadstarter" mal äußern. ^^
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Datumformatierung

  Alt 28. Apr 2011, 10:49
Das Datum wird aus dem maschinellen Code eines Reisepasses, Personalausweises, etc. ausgelesen und dort ist nach MRP das Jahr 2 stellig definiert.

Bei dem Geburtsdatum ist das kein Problem IncYear zu verwenden. Bei dem Ablaufdatum jedoch nicht möglich, da ich nicht wissen kann, wann der Ausweis abläuft.
Hätte ja sein können, dass vielleicht bereits jemand eine Allroundlösung dafür hat...

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Datumformatierung

  Alt 28. Apr 2011, 10:59
Beim Ablaufdatum könnte man ja das nehmen, was am Nächsten am aktuellen Datum liegt. Es scheint mir recht unwahrscheinlich, dass Du es mit einem Ausweis zu tun bekommst, der bereits 80 Jahre abgelaufen ist
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Datumformatierung

  Alt 28. Apr 2011, 11:01
Genau, oder das Datum zwischen heute und dem Geburtsdatum.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Datumformatierung

  Alt 28. Apr 2011, 11:03
Dann wäre aber jeder Ausweis bereits abgelaufen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Datumformatierung

  Alt 28. Apr 2011, 11:10
Ich gehe davon aus, dass zwischen heute und der Geburt weniger als 100 Jahre liegen. Dann kann es nur eine Möglichkeit (19.. oder 20..) für die beiden fehlenden Stellen im Jahr geben, oder? Die beiden anderen hat man ja schon vom Einlesen. Oder habe ich jetzt einen Knoten im Hirn? Kann schon sein
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz