如何正确判断一个时间字符串啊?

追寻梦中人 2006-03-16 09:47:41
比如说,我想让用户在一个输入框editInput里输入一个时间dtInput,
然后在SQL语句里用FDATETIME = dtInput,
我用StrToDateTime(editInput.Text)判断时,
如果用户输入的是1或2这样的数字,
用StrToDateTime(editInput.Text)判断的话,
是没有问题的,
但用FDATETIME = '1'时就会出现错误,

那这个怎么解决呢?

1对于系统来说,也认为是一个有效的时间,
但在SQL语句里就不行了。。。


怎么解决呢。。。
...全文
162 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
匆匆岁月 2006-03-25
  • 打赏
  • 举报
回复
那你直接这样:
try
editInput.Text := StrToDateTime(editInput.Text);
except

end;
老之 2006-03-18
  • 打赏
  • 举报
回复
先用TryStrToDateTime判断合法性,再用FormatDateTime来转换
SiTwo 2006-03-18
  • 打赏
  • 举报
回复
那你就得再判断一下输入的时间是否在你限定的范围,如果不用DateTimePicker的话
追寻梦中人 2006-03-18
  • 打赏
  • 举报
回复
用StrToDateTime来判断1的时候,DELPHI也会认为时间是:1899-12-30 01:00:00
我是想让系统认为1这个时间是不合法的。。。
追寻梦中人 2006-03-17
  • 打赏
  • 举报
回复
strToDateTime会把1认为是合法的时间啊。。。
yuzhiyong 2006-03-16
  • 打赏
  • 举报
回复
TryStrToDateTime(...)
好像是
cuteant 2006-03-16
  • 打赏
  • 举报
回复
如果觉得界面还不够好,直接上TDateTimePicker,选择Kind属性作为Date or Time
cuteant 2006-03-16
  • 打赏
  • 举报
回复
将Edit换成MaskEdit,设置Mask格式为DateTime

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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