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

Posted 覆雨翻云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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; 在使用两位年份时的起始年份。

转自:https://www.cnblogs.com/zhenfei/p/4574799.html

以上是关于Delphi Xe 中如何把日期格式统一处理,玩转 TDatetime的主要内容,如果未能解决你的问题,请参考以下文章

delphi 格式转换

Delphi XE4或XE5:如何以弹出格式打开Goog le Chrome?

Delphi - 如何正确注册自 XE8 以来的图形类?

delphi中如何把有规律的文本文字放入STRINGGRID中的每个单元格中

关于在delphi中时间日期的转换问题,高手进

如何从 Delphi XE2 加速文字自动化