【问题标题】:how to use TDateCalendar as English(Days Captions) when the default language is non English?当默认语言为非英语时,如何将 TDateCalendar 用作英语(Days Captions)?
【发布时间】:2011-01-07 15:01:43
【问题描述】:

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

【问题讨论】:

    标签: delphi datetime regional-settings


    【解决方案1】:

    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。

    【讨论】:

      猜你喜欢
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-23
      • 1970-01-01
      • 2019-12-30
      • 1970-01-01
      相关资源
      最近更新 更多