Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TFormatSettings Unterschied ShortDateFormat und LongDateFormat (https://www.delphipraxis.net/208266-tformatsettings-unterschied-shortdateformat-und-longdateformat.html)

Rollo62 6. Jul 2021 17:07

AW: TFormatSettings Unterschied ShortDateFormat und LongDateFormat
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1491962)
Delphi-Quellcode:

  S := FormatDateTime('mm-dd-yyyy hh-mm-ss', Now, TFormatSettings.Invariant);

Yup, das wollte ich auch gerade schreiben, aber mit nn für Ninuten :-D

Delphi-Quellcode:

  S := FormatDateTime('mm-dd-yyyy hh-nn-ss', Now, TFormatSettings.Invariant);

Uwe Raabe 6. Jul 2021 17:14

AW: TFormatSettings Unterschied ShortDateFormat und LongDateFormat
 
Zitat:

Zitat von Codehunter (Beitrag 1491964)
Stop stop stop! Das musst du mir jetzt mal erklären. Ich dachte immer, solche Formatstrings wären ungültig? Wegen der Date- bzw. Time-Separatoren, die dann entweder mit "/" (Date) oder ":" (Time) als Platzhalter angegeben werden müssen und dann erst vom Formatierer ersetzt werden?

Wenn du "/" und ":" für Datums- bzw. Zeittrenner verwendest werden diese durch die in den FormatSettings eingestellten Werte ersetzt. Andere Zeichen werden als Literale behandelt und bleiben unverändert.

Solltest du als ein "/" für den Datumstrenner benötigen, muss der in den FormatSettings auch so gesetzt sein. Durch die Verwendung von Invariant liefert dann eine Angabe von "mm/dd/yyyy" auch ein "07/06/2021".

Zitat:

Zitat von Rollo62 (Beitrag 1491965)
Yup, das wollte ich auch gerade schreiben, aber mit nn für Ninuten :-D

Ist eigentlich auch korrekt, aber die Implementierung ist intelligent genug das "mm" im Zeitanteil als Minuten zu behandeln. :-D

Rollo62 6. Jul 2021 17:23

AW: TFormatSettings Unterschied ShortDateFormat und LongDateFormat
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1491966)
Zitat:

Zitat von Rollo62 (Beitrag 1491965)
Yup, das wollte ich auch gerade schreiben, aber mit nn für Ninuten :-D

Ist eigentlich auch korrekt, aber die Implementierung ist intelligent genug das "mm" im Zeitanteil als Minuten zu behandeln. :-D

Bist Du sicher dass es immer funktioniert, auch wenn man vom gewohnten yy.mm.dd hh:nn:ss Stil abweicht ?
Also schon dem 'mm-dd-yyyy hh-mm-ss' würde ich das richtige Erkennen nicht mehr zutrauen :stupid:
Was ist mit 'mm;yy;dd;hh;mm;ss' oder noch verwurschtelter ?

Falls das doch erkannt wird, dann ist das ein erneuter Beweis für die Genialität von Delphi.

Uwe Raabe 6. Jul 2021 17:36

AW: TFormatSettings Unterschied ShortDateFormat und LongDateFormat
 
Zitat:

Zitat von Rollo62 (Beitrag 1491967)
Falls das doch erkannt wird, dann ist das ein erneuter Beweis für die Genialität von Delphi.

Delphi-Quellcode:
          if (Token = 'M') and (LastToken = 'H') then Token := 'N';

Codehunter 6. Jul 2021 20:24

AW: TFormatSettings Unterschied ShortDateFormat und LongDateFormat
 
Also halten wir mal fest: Das ist eindeutig ein Fall von historisch gewachsenem Overhead. Langes oder kurzes Datumsformat, das hätte man doch über einen einzigen Formatstring realisieren können statt über fünf plus zwei Separatoren. Womöglich war die Implementierung in früheren Delphis noch etwas zickiger? Ich kann mich da aus D7-Zeiten an wirklich bösen Trouble erinnern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:23 Uhr.
Seite 2 von 2     12   

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