FormatSettings.ShortDateFormat отличается от языкового стандарта системы - PullRequest
2 голосов
/ 26 марта 2020

Я получаю текущие настройки формата, выполнив:

 _FormatSettings := TFormatSettings.Create(GetThreadLocale);

Мой системный краткий формат даты - dd.MM.yyyy, но _FormatSettings.shorDateFormat - dd/MM/yyyy. Должен ли я заменить косую черту на FormatSettings разделителем даты или я не знаю что-то еще?

Я использую Windows 10 с последними обновлениями.

Мой фактический формат короткой даты:

Actual locale short date format

1 Ответ

6 голосов
/ 26 марта 2020

Нет, вы не должны заменять косую черту в TFormatSettings.ShortDateFormat. Это может нанести ущерб формулировке даты.

Символ '/' в TFormatSettings.ShortDateFormat является заполнителем для фактического символа разделителя даты (TFormatSettings.DateSeparator), который будет вставлен во время формулировки строка даты.

Реф.

procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime; const AFormatSettings: TFormatSettings);

в System.SysUtils

...