我期望以下代码可以正常工作:
program Project3; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; var FS: TFormatSettings; const DF = 'yyyymmdd'; begin try WriteLn(FormatDateTime(DF,Now)); FS := TFormatSettings.Create; FS.ShortDateFormat := DF; WriteLn(StrToDate('20121219',FS)); ReadLn; except on E: Exception do Writeln(E.ClassName,': ',E.Message); end; end.
为什么会抛出异常,说“20121219”不是有效的日期? TFormatSettings应该怎么做?
解决方法
StrToDate()需要在FS.DateSeparator中定义的分隔符:Char;所以不能是空的.
参考:
http://docwiki.embarcadero.com/Libraries/XE3/en/System.SysUtils.StrToDate
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。