var
day:String;
days:Integer;
begin
try
day:='2012-12-21';
days:=DaysInMonth(StrToDate(day));
except
showMessage('日期格式错误!');
end;
这段代码中·只是日期格式的差别·在一台机子上·执行不会报错·正常获取当月天数·另外一个机子上执行的时候·就会执行捕获异常的操作·
也就是·在另外一台机子执行编译的时候·要用day:='2012/12/21'才不会报错
这是什么问题?
day:String;
days:Integer;
begin
try
day:='2012-12-21';
days:=DaysInMonth(StrToDate(day));
except
showMessage('日期格式错误!');
end;
这段代码中·只是日期格式的差别·在一台机子上·执行不会报错·正常获取当月天数·另外一个机子上执行的时候·就会执行捕获异常的操作·
也就是·在另外一台机子执行编译的时候·要用day:='2012/12/21'才不会报错
这是什么问题?
解决方案 »
- 如何保护自己的进程不被结束 除非是正常用户结束?
- 机读卡(就是高考选择题那种) 如何进行数据处理
- 怎么在dbgrid和TreeView1中加复选框控件
- 想要写一个看守所的管理系统,请问那位大哥,有这方面的资料或者例子!
- 请教有关TREEVIEW的结点DATA属性的用法
- 在用ADO连接数据库时,怎样才能在运行时不显示数据库登录提示框?
- 新手求救,哪位高手快来帮帮我呀!!!
- 如何用delphi做扫雷?
- CSDN上人才真是少,这莫简单的问题都不会!
- 《delpi5开发人员指南》p998页(编写桌面数据库应用程序),第20行accept:=table1state.value=filterform.dbedit1.text;是何意义?编译总通不过!!!
- delphi ribbon控件问题
- 请教个数学问题,m选n,重复无穷多次后,每个数出现的概率是多少?
uses DateUtils;
//-------------------------------
procedure TForm11.btn1Click(Sender: TObject);
procedure Test(const Value : string);
var
day : string;
i : integer;
begin
day := '';
for i := 1 to Length(Value) do
if Value[i] in ['0'..'9'] then
day := day + Value[i]; if Length(day) <> 8 then
begin
showMessage('输入日期' + Value + '无法识别!' + char(13) +
'请检查日期格式: 只能识别4位数年份和2位数月/日, 年月日间可有1字符的分隔符!');
exit;
end; day := Copy(day, 1, 4) + '-' + Copy(day, 5, 2) + '-' + Copy(day, 7, 2);
SysUtils.DateSeparator := '-'; //設置全局變量 try
ShowMessage('输入日期' + Value + ' 当月天数:' + inttostr(DaysInMonth(StrToDate(day))));
except
showMessage('日期格式错误!');
end;
end;begin
Test('20121207');
Test('2012/12/07');
Test('2012 12 07');
Test('2012-12-07');
Test('2012-12-7');
Test('2012-12-07 12:00:00');
end;