AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi String mit unterschiedlichen Datumsangabe -> TDateTime

String mit unterschiedlichen Datumsangabe -> TDateTime

Ein Thema von Alex_ITA01 · begonnen am 6. Okt 2020 · letzter Beitrag vom 7. Okt 2020
Antwort Antwort
Alex_ITA01

Registriert seit: 22. Sep 2003
1.053 Beiträge
 
Delphi 10.4 Sydney
 
#1

String mit unterschiedlichen Datumsangabe -> TDateTime

  Alt 6. Okt 2020, 06:49
Moin zusammen,
ich habe zwei unterschiedliche Arten von Strings mit Datums-/ Uhrzeitangaben.

1)
1/13/2020 2:15:41 PM

2)
08.04.2020 14:22:47

Meine Routine bekommt als Parameter einen String übergeben und soll dann jeweils in ein TDateTime wandeln. Der Parameter kann entweder so 1) aussehen oder so 2).
Welche String/DateTime Routine wandelt mir den String passend in TDateTime um?
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.618 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: String mit unterschiedlichen Datumsangabe -> TDateTime

  Alt 6. Okt 2020, 07:56
Moin...
Zitat:
Meine Routine bekommt als Parameter einen String übergeben und soll dann jeweils in ein TDateTime wandeln
...warum nicht gleich TDateTime? Hat das einen tieferen Sinn? Wo kommt der String her?

Geändert von haentschman ( 7. Okt 2020 um 07:10 Uhr)
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.053 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: String mit unterschiedlichen Datumsangabe -> TDateTime

  Alt 6. Okt 2020, 08:04
Da habe ich leider kein Einfluss drauf. Liegt nunmal leider als String vor. Deswegen will ich ja auf TDateTime wandeln, damit man damit arbeiten kann
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.120 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: String mit unterschiedlichen Datumsangabe -> TDateTime

  Alt 6. Okt 2020, 08:05
Delphi-Referenz durchsuchenTryStrToDate, da einfach mal mit verschiedenen FormatSettings durchprobieren.
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
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
787 Beiträge
 
Delphi 2007 Professional
 
#5

AW: String mit unterschiedlichen Datumsangabe -> TDateTime

  Alt 6. Okt 2020, 09:06
Moin zusammen,
ich habe zwei unterschiedliche Arten von Strings mit Datums-/ Uhrzeitangaben.

1)
1/13/2020 2:15:41 PM

2)
08.04.2020 14:22:47

Meine Routine bekommt als Parameter einen String übergeben und soll dann jeweils in ein TDateTime wandeln. Der Parameter kann entweder so 1) aussehen oder so 2).
Welche String/DateTime Routine wandelt mir den String passend in TDateTime um?
bei 1. stellt sich sofort die Frage: Amerikanisches oder sinnvolles Datumformat, also: Monat/Tag/Jahr oder Tag/Monat/Jahr . Das Beispiel suggeriert amerikanisch, da es keinen Monat 13 gibt, aber bist Du Dir sicher?

Wenn nur diese beiden Formate vorkommen können, würde ich es vermutlich selbst programmieren, einfach um sicherzustellen, dass nicht doch die falsche Konvertierung verwendet wird. Bei bekanntem Format ist das ja nicht weiter schwierig. Und bloß nicht versuchen fehlertolerant zu sein! Alles, was nicht zum Schema passt, sollte eine Exception mit sinnvoller Fehlermeldung werfen, sonst kommt man später in Teufels Küche, weil man mit falschen Datumswerten weiter gearbeitet hat.
Thomas Mueller
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
205 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: String mit unterschiedlichen Datumsangabe -> TDateTime

  Alt 6. Okt 2020, 10:15
Wie DeddyH schon geschrieben hat:

TryStrToDate

Einmal die Formatsettings lokal und einmal auf TFormatSettings.Invariant (oder was auch immer die Quelle sein könnte). Oder einfach selber die möglichen FormatSettings "zusammenbasten". Habe gerade ähnliche Dinge gemacht. Eingabefelder mit Datum. Allerdings beziehen die sich immer auf das aktuell eingestellte Format. Dies kann aber jedes sein...
Old but good: It's not a bug - it's a feature....
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.053 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: String mit unterschiedlichen Datumsangabe -> TDateTime

  Alt 7. Okt 2020, 06:52
Mit der TryStrToDate Variante bin ich weitergekommen (+ FormatSettings). Danke
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf