來源:http://blog.csdn.net/arbin_he/article/details/7415300git
var FSetting : TFormatSettings; DateTime1: tDateTime; begin FSetting := TFormatSettings.Create(LOCALE_USER_DEFAULT); FSetting.ShortDateFormat:='yyyy-MM-dd'; FSetting.DateSeparator:='-'; //FSetting.TimeSeparator:=':'; FSetting.LongTimeFormat:='hh:mm:ss.zzz'; DateTime1 := StrToDateTime('2011-10-20 15:59:59:789', FSetting); end;
上例中的代碼通過測試,加入FSetting.TimeSeparator:=':';後,毫秒部分讀取失敗,緣由不太清楚。數組
TFormatSettings中一些屬性的解釋:測試
DateSeparator :Char.net
日期分隔符,用於分隔年月日 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; 在使用兩位年份時的起始年份。