当前位置:  开发笔记 > 开发工具 > 正文

如何在Delphi中获取本地化的日期名称?

如何解决《如何在Delphi中获取本地化的日期名称?》经验,为你挑选了1个好方法。

我正在使用标准Delphi常量DayMonday等,我想将它们转换为本地化字符串(例如"Lundi").是否有简单的RTL或VCL调用?



1> Toon Krijthe..:

您可以通过以下方式获取不同的区域设置

var
  fs : TFormatSettings;
  x  : string;
begin
  GetLocaleFormatSettings(GetThreadlocale, fs);
  x:= FormatDateTime('%mmmm', Now, fs);
  // etc..
end;

GetThreadLocale给出了当前的LCID,但您可以自己使用其他数字.

TFormatSettings记录:

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;

有关完整列表,另请参见http://www.microsoft.com/globaldev/reference/lcid-all.mspx.

您甚至可以自己更改格式设置以创建非常精美的结果.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有