Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String "yyyy-mm-dd hh:mm:ss" in DateTime wandeln (https://www.delphipraxis.net/15670-string-yyyy-mm-dd-hh-mm-ss-datetime-wandeln.html)

Steffen 2. Feb 2004 14:36


String "yyyy-mm-dd hh:mm:ss" in DateTime wandeln
 
Hallo!

Ich habe einen Datums-Zeit-String im Format: "yyyy-mm-dd hh:mm:ss" und möchte den nun in ein DateTime-Wert konvertieren.
Ich habe nun schon einige Datumskonvertierungs-Methoden versucht, aber ich komme nicht zum richtigen Ergebnis!

Wäre nett, wenn jemand einen Lösungsvorschlag posten könnte.

Am besten wäre sowas:

Delphi-Quellcode:
var
  DateTime : TDateTime;
begin
  DateTime := XXX('2004-02-02 14:53:49');
end;
Gruß,
Steffen

mirage228 2. Feb 2004 14:38

Re: String "yyyy-mm-dd hh:mm:ss" in DateTime wande
 
guck ma nach FormatDateTime

mfG
mirage228

Steffen 2. Feb 2004 14:39

Re: String "yyyy-mm-dd hh:mm:ss" in DateTime wande
 
FormatDateTime liefert einen String zurück...

Schubi 2. Feb 2004 14:51

Re: String "yyyy-mm-dd hh:mm:ss" in DateTime wande
 
Na dann schau dir mal DecodeDate und EncodeDate an :mrgreen:

Stanlay Hanks 2. Feb 2004 14:52

Re: String "yyyy-mm-dd hh:mm:ss" in DateTime wande
 
Zitat:

Zitat von Steffen
FormatDateTime liefert einen String zurück...

Hi. und StrToDateTime() liefert einen DateTime Wert zurück :wink:

Man liest sich, Stanlay :hi:

Steffen 2. Feb 2004 14:57

Re: String "yyyy-mm-dd hh:mm:ss" in DateTime wande
 
bei
Delphi-Quellcode:
function StrToDateTime(const S: string): TDateTime; overload;
haut das mit der Formatierung nicht so ganz hin...

dann gibt's da die Funktion
Delphi-Quellcode:
function StrToDateTime(const S: string; const FormatSettings: TFormatSettings): TDateTime; overload;
...kennt sich jemand mit TFormatSettings aus?

Michael Leyhe 2. Feb 2004 15:23

Re: String "yyyy-mm-dd hh:mm:ss" in DateTime wande
 
HI

Der normale Befehl ist strtodatetime oder datetimetostr.
Meine Anmerkung ist aber das jenachdem was du mit der Zeit machen willst auf das Betriebssystem achten solltest!

Das heutige Datum lautet bei Win XP 02.02.2004 bei Win NT aber 02.02.04 :thuimb:

Wie es bei den anderen Betriebssystemen wie Linux oder einem anderen Windows aussieht weis ich nicht.

Steffen 2. Feb 2004 16:15

Re: String "yyyy-mm-dd hh:mm:ss" in DateTime wande
 
Die variierende Jahreszahldarstellung ist für mich nicht relevant, da ich immer eine vierstellige Jahreszahl als Ausgangsstring habe... trotzdem Danke.

Kann mir keiner ein Beispiel eines TFormatStrings für 'yyyy-mm-dd hh:mm:ss' geben?

Gruß,
Steffen

Luckie 2. Feb 2004 17:09

Re: String "yyyy-mm-dd hh:mm:ss" in DateTime wande
 
Zitat:

Zitat von Michael Leyhe
Das heutige Datum lautet bei Win XP 02.02.2004 bei Win NT aber 02.02.04

Ich bin mir ziemlich sicher, dass man es bei NT sich auch vierstellig anzeigen lassen kann, man muss es ur einstellen.

Steffen 6. Feb 2004 12:54

Re: String "yyyy-mm-dd hh:mm:ss" in DateTime wande
 
Ich habe das Problem jetzt so gelöst:

Delphi-Quellcode:
// Wandelt einen String im Format "yyyy-mm-dd hh:mm:ss" in DateTime-Wert um
function SQLDateTimeStringToDateTime(const strSQLDateTime : String) : TDateTime;
begin
  Result := StrToDateTime(copy(strSQLDateTime,9,2) + '.' + // Day
                          copy(strSQLDateTime,6,2) + '.' + // Month
                          copy(strSQLDateTime,0,4) + ' ' + // Year
                          copy(strSQLDateTime,12,8))      // Time
end;
Kennt jemand einen schnelleren/besseren Weg?

Gruß,
Steffen


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz