delphi - 当默认语言为非英语时,如何使用 TDateCalendar 作为英语(日期字幕)?

标签 delphi datetime regional-settings

我们的计算机设置的区域语言是韩语,我的问题是当我使用 FormatDateTime('MMM DD YYYY') 时,它返回韩语日期(月)。甚至日期日历也不是英语。有什么建议吗?

最佳答案

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 中。

您可以在 this site 上找到 LCID .

关于delphi - 当默认语言为非英语时,如何使用 TDateCalendar 作为英语(日期字幕)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4623035/

相关文章:

delphi - 如何使用 Delphi 弹出给定文件的 Windows 上下文菜单?

delphi - Delphi中的SSE2优化?

c# - 格式化 .NET DateTime "Day",不带前导零

windows - 无论区域设置如何,在批处理文件中拆分 %date%

delphi - 我可以继承一个具有相同名称的类并在没有单位前缀的其他单位中自由使用它吗?

windows - 如何在表单的系统菜单中添加带有图标的项目?

c# - 在计算两个随机日期之间的天数时,时间跨度是否考虑闰年?

python - pandas 日期时间格式 删除时区

ruby - 使用 Ruby 在 Windows 中读取区域位置设置(国家代码)?

c++ - 为什么 _tcstod 在解析字符串时使用我的 Windows 区域设置?