Delphi Xe 中如何把日期格式统一处理,玩转 TDatetime

日期格式的处理总是会很复杂,因为不同的环境日 期格式也不一样。为了程序统一处理,  最好把格式给统一了:

可以在程序的初始化段:

  FormatSettings.ShortDateFormat := 'dd/mm/yyyy';
  FormatSettings.DateSeparator := '/';
  for I := 1 to 12 do
    System.SysUtils.FormatSettings.ShortMonthNames[i] := sNames[i];

其中 sNames 是自己定义的月份名的全局数组, 如果你显示的格式例如: 'dd mmm yyyy' 那 'mmm' 就显示的这个数组中对应的string, 定义可以是:

const
  sNames: array[1..12] of string = ( 'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec' );

TFormatSettings中一些属性的解释:

DateSeparator :Char 日期分隔符,用于分隔年月日 
TimeSeparator :Char 时间分隔符,用于分隔小时,分钟,秒 
ShortDateFormat:String 区域设置中短日期格式的定义。 
LongDateFormat :String 区域设置中长日期格式的定义。 
ShortTimeFormat:String 区域设置中短时间格式的定义。 
LongTimeFormat :String 区域设置中长时间格式的定义。 
TimeAMString :String 用来表示上午的字符串 
TimePMString :String 用来表示下午的字符串 
ShortMonthNames:array[1..12] of String; 用于缩略表示月份名称的数组,就是在使用FormatDateTime时显示的mmm标识的字符串 
LongMonthNames:array[1..12] of String; 用于完整表示月份名称的数组,就是在使用FormatDateTime时显示的mmmm标识的字符串 
ShortDayNames :array[1..7] of String; 用于缩略表示星期名称的数组,就是在使用FormatDateTime时显示的ddd标识的字符串 
LongDayNames :array[1..7] of String; 用于完整表示星期名称的数组,就是在使用FormatDateTime时显示的ddd标识的字符串 
TwoDigitYearCenturyWindow:Word = 50; 在使用两位年份时的起始年份。

posted on 2021-04-04 15:58  癫狂编程  阅读(320)  评论(0编辑  收藏  举报

导航

好的代码像粥一样,都是用时间熬出来的