Как использовать TDateCalendar как английский (подписи дня), когда язык по умолчанию не является английским?
-
30-09-2019 - |
Вопрос
Наши настройки компьютеров имеют региональный язык - корейский, моя проблема заключается в том, когда я использую FormatDateTime («Ммм ДД ГГГГ»), он возвращает дату на корейский язык (месяц). И даже DateCalendar не английский. любое предложение?
Решение
FormatDateTime имеет перегруженный вариант, который вы можете использовать для переопределения параметров формата:
function FormatDateTime(const Format: string; DateTime: TDateTime;
const FormatSettings: TFormatSettings): string; overload;
Где TFormatsettings определяется как:
type
TFormatSettings = record
CurrencyFormat: Byte;
NegCurrFormat: Byte;
ThousandSeparator: Char;
DecimalSeparator: Char;
CurrencyDecimals: Byte;
DateSeparator: Char;
TimeSeparator: Char;
ListSeparator: Char;
CurrencyString: string;
ShortDateFormat: string;
LongDateFormat: string;
TimeAMString: string;
TimePMString: string;
ShortTimeFormat: string;
LongTimeFormat: string;
ShortMonthNames: array[1..12] of string;
LongMonthNames: array[1..12] of string;
ShortDayNames: array[1..7] of string;
LongDayNames: array[1..7] of string;
TwoDigitYearCenturyWindow: Word;
end;
TFormatsettings можно использовать практически все функции формата.
Вы можете получить настройки формата данного локали (в Windows). Или вы можете создать это самостоятельно.
procedure GetLocaleFormatSettings(LCID: Integer;
var FormatSettings: TFormatSettings);
Все в Sysutils.
И вы можете найти LCID на этот сайт.
Не связан с StackOverflow