Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Problem mit FormatDateTime (https://www.delphipraxis.net/207397-problem-mit-formatdatetime.html)

MechMac666 20. Mär 2021 07:37

Problem mit FormatDateTime
 
Hallo

was stimmt denn mit formatdatetime jetzt nicht?
Das mittlere war nur zum testen, nachdem ich beim dritten verzweifelt bin.

formatdatetime('DD.MM.YYYY',now) liefert 20.03.2021
formatdatetime('DD$MM(YYYY',now) liefert 20$03(2021
formatdatetime('DD/MM/YYYY',now) liefert 20.03.2021

Das dritte benötige ich übrigens.
Oder muss ich jetzt mit stringreplace arbeiten? :?

DeddyH 20. Mär 2021 08:50

AW: Problem mit FormatDateTime
 
Du kannst als optionalen Parameter eine „Instanz“ von TFormatSettings übergeben, wo dann die gewünschten Trennzeichen definiert wurden.

[edit] Beispiel:
Delphi-Quellcode:
var
  Settings: TFormatSettings;
begin
  Settings := TFormatSettings.Create;
  Settings.DateSeparator := '/';
  ShowMessage(FormatDateTime('dd/mm/yyyy', now, Settings));
end;
[/edit]

HolgerX 20. Mär 2021 21:39

AW: Problem mit FormatDateTime
 
Hmm..

Mal schnell in der Delphi Hilfe nachgeschaut:

Zitat:

/ Zeigt als Datumstrennzeichen das in der globalen Variable DateSeparator angegebene Zeichen an.
Somit wird auf einem deutschen Windows mit deutschem DateSeparator der '/' gegen '.' getauscht..

Um nun das '/' zu behalten, muss dieses in Anführungszeichen gesetzt werden.

Delphi-Quellcode:
ShowMessage(FormatDateTime('dd"/"mm"/"yyyy', now, Settings));

himitsu 20. Mär 2021 22:50

AW: Problem mit FormatDateTime
 
Jupp, dafür kannst auch das Settings weglassen, da eh nichts davon verwendet wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:11 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