来源:http://blog.csdn.net/arbin_he/article/details/7415300
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
日期分隔符,用于分隔年月日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;
在使用两位年份时的起始年份。