![]() |
Delphi-Version: XE5
DateTime aus String. Welches ist es denn nun?
Hallo Leute,
Ich habe das Datum und die Uhrzeit im folgenden Format (als String) gegeben: 07-24 13:38:35 Mit welcher von den vielen Funktionen kann ich nun dem Compiler vorgeben in welchem Format der String ist (bspw. %m-%d), damit dieser ein TDateTime ausgibt? Grüße, Bennex! |
AW: DateTime aus String. Welches ist es denn nun?
Zitat:
Eine der Lösungen wäre ![]()
Delphi-Quellcode:
function EncodeDateTime ( const Year, Month, Day, Hour, Min, Sec, MSec : Word ) : TDateTime;
|
AW: DateTime aus String. Welches ist es denn nun?
Na du gehst in die OH (oder schaust in den RTL-Quellcode) und suchst dir aus den DateTime-Funktionen (siehe SysUtils und DateUtils) die Passende aus.
Input: String (dein Datums-String) und ein Format-String, mit deinem gewünschten Format, und eventuell noch ein FormatSettings (bzw. der Format-String im FormatSettings) Output: TDateTime Also die Umkehrfunktion von FormatDateTime. :stupid: [add] Falls es sowas nicht gibt, dann der Vorschlag von mjustin. |
AW: DateTime aus String. Welches ist es denn nun?
Delphi-Quellcode:
Hilft das
lblBUhrzeit.text:= FormatDateTime('hh:nn',bdatumzeit) ;
lblBDatum.Text := FormatDateTime('dd.mm.yyyy',bdatumzeit) ; |
AW: DateTime aus String. Welches ist es denn nun?
Zitat:
Er braucht das andersrum. :wink: FormatDateTime -> F1 -> Link zu "Routinen für die Typumwandlung" oder "Unterstützung für Datum und Uhrzeit" -> StrToDateTime? Man muß nur noch schauen ob es das Short- oder LongDateFormat verwendet und ob da drin das gewünschte Format untersützt wird. ![]() |
AW: DateTime aus String. Welches ist es denn nun?
Das kann man ja wieder in ein String umwandeln, so habe ich es zumindest gemacht
nction TAppseite1.GetShowDateTime(aDateTime: string): TDateTime; var sDate, sTime : string; // FFormatSettings : TFormatSettings; begin // input '2004-01-01 14:30' // output Datum/Uhrzeit als TDateTime //FFormatSettings := TFormatSettings.Create(); FormatSettings.ShortDateFormat := 'YYYY-MM-DD'; FormatSettings.ShortTimeFormat := 'HH:NN'; FormatSettings.DateSeparator := '-'; sDate := LeftStr(aDateTime, 10); sTime := RightStr(aDateTime, 5); result := StrToDate(sDate, FormatSettings) + StrToTime(sTime, FormatSettings); end; |
AW: DateTime aus String. Welches ist es denn nun?
Zitat:
|
AW: DateTime aus String. Welches ist es denn nun?
Zitat:
Für ein definiertes Format zur Übertragung vollkommen ausreichend wenn man eine Übertragungsmedium verwendet welches keine Verweildauern > 1 Jahr annimmt. Das Format lehnt sich das ISO8601-Format an. |
AW: DateTime aus String. Welches ist es denn nun?
Zitat:
(Und beim nächsten mal reißt man sich den A.... dafür auf, daß endlich das ISO-Datum(sformat) verwendet wird) Gruß K-H P.S. Zitat:
|
AW: DateTime aus String. Welches ist es denn nun?
Zitat:
Das untere Beispiel (wenn ich keinen Weiteren Kontext kenne) "07-24 13:38:35" als "Am 24.07 um 13:38:35" geschah/geschieht/muss etwas geschehen/... interpretieren. Das Jahr? ist egal. Wenn ich es vor diesem Datum bekomme würde ich als "jedes Jahr zu diesem Datum/Uhrzeit" oder "das nächste Mal wenn dieser Tag/Monat kommmt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr. |
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 by Thomas Breitkreuz