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; 
在使用两位年份时的起始年份。

posted on 2017-06-02 14:10  siegel  阅读(3965)  评论(0编辑  收藏  举报