怎么检查时间的合法性如'2004-12-15 8:30:25'是一个时间,而'era12d34'不是一个时间。

bphantom 2004-06-18 12:00:06
如题
...全文
145 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
whisht 2004-06-18
  • 打赏
  • 举报
回复
try
strtodate('2004-12-15 8:30:25');
except
showmessage('不是合法时间');
end;
hottey 2004-06-18
  • 打赏
  • 举报
回复
在不行就对字串进行分析.不过有点像词法分析了.哈哈...
aiirii 2004-06-18
  • 打赏
  • 举报
回复
function TryStrToDate(const S: string; out Value: TDateTime): Boolean; overload;

試下這個
ztenv 2004-06-18
  • 打赏
  • 举报
回复
不过,有时间好像不行,要用SQL的isdate()函数了吧?
ztenv 2004-06-18
  • 打赏
  • 举报
回复
是呀,就这样就可以,
zzh26 2004-06-18
  • 打赏
  • 举报
回复
try
strtodate('2004-12-15 8:30:25');
except
showmessage('不是合法时间');
end;
加减算法 2004-06-18
  • 打赏
  • 举报
回复
常多了会不会导致内存错误呢?

会吗?
woaijj 2004-06-18
  • 打赏
  • 举报
回复
过路的...
wanglei9802 2004-06-18
  • 打赏
  • 举报
回复
用异常处理最方便
mrliyong 2004-06-18
  • 打赏
  • 举报
回复
对,就用trystrtodatetime这个函数就可以了。多调试一下吧。
409 2004-06-18
  • 打赏
  • 举报
回复
if trystrtodatetime(edit1.Text,D) then
exit
else
showmessage('您的输入不正确!如02-2-2是正确的!');
bphantom 2004-06-18
  • 打赏
  • 举报
回复
try
strtodate('2004-12-15 8:30:25');Delphi自己都会异常,不行。
像aiirii(ari-爱的眼睛) 说的TryStrToDate,Delphi自己不会异常,还算可行。
juliens 2004-06-18
  • 打赏
  • 举报
回复
用TryStrToDate函数啊!
noya2020 2004-06-18
  • 打赏
  • 举报
回复
那是不是只能自己分析程序了阿,
bphantom 2004-06-18
  • 打赏
  • 举报
回复
我不要异常,有什么有其他办法?
比如
1千次,1万次,甚至100万次的try strtodate('sdjflkdjfkd') except ;end;,是不是不好,异常多了会不会导致内存错误呢?
有没有其他验证办法?
其实try strtodate 我早就想过了。

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧