谁能告诉我这段代码有什么问题:
ShortDateFormat := 'dd/mm/yyyy';
j:=StrToDate('05/05/1999');
我不断得到
An unhandled exception occurred at $000000000042FA33 :
EConvertError : Invalid date format
我用的是fpc。
谁能告诉我这段代码有什么问题:
ShortDateFormat := 'dd/mm/yyyy';
j:=StrToDate('05/05/1999');
我不断得到
An unhandled exception occurred at $000000000042FA33 :
EConvertError : Invalid date format
我用的是fpc。
从这里(释义):
StrToDate不使用ShortDateFormat来检查实际格式;它仅使用它来确定y、m、d的顺序,然后使用DateSeparator来确定实际的日期分隔符。
所以你需要的是:
ShortDateFormat := 'd/m/y';
DateSeparator := '/';
j:=StrToDate('05/05/1999');
您可能需要考虑:
ShortDateFormat
并DateSeparator
在执行此操作之前恢复它们(它们最初是根据您的语言环境设置的);或者在调用之前将其插入您的代码中StrToDate
:
Writeln(DateTimeToStr(Date));
如果输出不包含/
但另一个字符,则必须使用此字符作为字符串中的分隔符。
在我的系统上,这给出了:11.11.2009
。如果我然后使用05.05.1999
它确实有效。