我有一個表單,允許用戶輸入出生日期:德爾福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