![]() |
Delphi-Version: XE7
DateTime JJMMTT umwandeln in TTMMJJ
Hallo zusammen,
ich habe hier einen DateTime String im Format "JJMMTT" [170126:0920]: welchen ich gerne in folgendes Format "YYYYMMDD" [26.01.2017:09:20:00] umwandeln würde ![]() Hatte ich bei meiner Suche gefunden hat aber nur ohne Zeitangabe geklappt. |
AW: DateTime JJMMTT umwandeln in TTMMJJ
Du könntest natürlich erstmal die beiden Strings mit Datum und Uhrzeit extrahieren, sie einzeln decodieren, zusammenrechnen und dann gemeinsam neu encodieren.
Das Hauptproblem ist halt, dass die Standard-Dekodierungsfunktionen von Delphi die FormatStrings ignorieren und nur eine Hand voll fest vordefinierter Formate unterstützen. PS: YYYYMMDD -> 26.01.2017:... YYYYMMDD oder DDMMYYYY? :angle:
Delphi-Quellcode:
Sorry, aber ich konnte nicht anders. :roll:
Insert(DeinString, '.', 3);
Insert(DeinString, '.', 6); Insert(DeinString, ':', 12); DeinString := '20' + DeinString + ':00'; |
AW: DateTime JJMMTT umwandeln in TTMMJJ
Wenn dein Format doch so eindeutig (und einfach) ist dann nimm doch einfach reguläre Ausdrücke, die sind in XE7 schon drin.
=> ![]() => ![]() |
AW: DateTime JJMMTT umwandeln in TTMMJJ
@TE: Deine Frage ist verwirrend! Lies sie noch mal AUFMERKSAM durch und ändere sie!
Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject);
var dt : TDateTime; begin // 26.01.2017:09:20:00 dt:= STRTODATETIME('26.01.2017:09:20:00'); caption:= FormatDateTime('YYYYMMDD:hh:nn:ss',dt); end; |
AW: DateTime JJMMTT umwandeln in TTMMJJ
In Delphi 7 gibt es
Delphi-Quellcode:
und
function StrToDateTime(const S: string; const FormatSettings: TFormatSettings): TDateTime;
Delphi-Quellcode:
Also bitte entsprechendes Formatsetting definieren und dann sowas aufrufen:
function FormatDateTime(const Format: string; DateTime: TDateTime; const FormatSettings: TFormatSettings): string;
Delphi-Quellcode:
var
fs : TFormatSettings; Datum : String; begin GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT,fs); // Entsprechend Deinen Anforderungen anpassen! fs.ShortDateFormat := 'DDMMYY'; fs.ShortTimeFormat := 'hh:mm'; ... Datum := FormatDateTime(StrToDateTime('170126 09:20',fs),'YYYYMMDD'); ... Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:45 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