日期格式的處理總是會很復雜,因為不同的環境日 期格式也不一樣。為了程序統一處理, 最好把格式給統一了:
可以在程序的初始化段:
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; 在使用兩位年份時的起始年份。