我有一个XML文件存储了一个美国日期格式(M / d / YYYY)的日期。在我的应用程序中,我需要使用DaysBetween
将该日期与当前日期进行比较。在将XML中的文本值作为string
读取后,我尝试使用StrUtils.StrToDateTime(string)
。
当PC也以美国日期格式运行时,此功能正常。但是,当我将其更改为具有不同日期组件排列的格式(如英语(新西兰),即d / MM / yyyy)时,`StrToDateTime'在我的应用程序中出现错误,如:
&#39 6 /二千零十五分之十三'不是有效的日期和时间。
该日期是从XML文件中读取的日期。
是否有一种智能方法可以使用StrToDateTime
和DaysBetween
将美国格式的日期(将永远是这个)与不同类型的日期格式进行比较(应该适用于任何Windows语言环境)?< / p>
答案 0 :(得分:3)
使用重载的function StrToDateTime(const S: string; const AFormatSettings: TFormatSettings): TDateTime;
,它将指定的TFormatSetting
作为输入。
根据您的美国区域设置填充TFormatSetting
记录。
示例:
myUSLocale := TFormatSettings.Create('en-US');