我有一个表单,允许用户输入出生日期:德尔福DateTimeFormat返回错误年
即:40年4月16日
然后,当用户进程的形式存在的,检查的功能是长度,增加了前导零,解析日期,然后使用的FormatDateTime刚刚返回的出生年份:
strTemp := strPostedByDOB;
If Length(strTemp) = 5
then strTemp = '0' + strTemp;
if Length(strTemp) = 6
then begin
strTemp := Copy(strTemp, 1 ,2) + '/' + copy(strTemp, 3, 2) + '/' + Copy(strTemp, 5, 2);
strTemp := FormatDateTime('YYYY', StrToDate(strTemp));
end
else strTemp := EmptyStr;
使用此代码strTemp作为2040而不是1940年计算的任何人都可以帮我找出如何使它在strTemp中显示1940年?我必须将表格更改为接受4位数的年份吗?
感谢, 莱斯利
Y2K错误。要求四位数年份。无论如何,自2000年以来,大多数人(至少在这里)使用四位数年份。 – AlexV 2010-04-15 18:15:46
您的表单应使用TDateTimePicker控件。然后整个问题消失,您的程序不必猜测,并且使用用户的OS配置的格式首选项显示和编辑日期。 – 2010-04-16 01:49:13