黑马程序员技术交流社区

标题: 怎么用程序校验一段文本是不是日期 [打印本页]

作者: liyi2013    时间: 2013-12-13 17:34
标题: 怎么用程序校验一段文本是不是日期
本帖最后由 liyi2013 于 2013-12-15 18:16 编辑

怎么用程序校验一段文本是不是日期?
作者: liyi2013    时间: 2013-12-13 18:13
看来是有难度、那就自己回答自己了!
作者: liyi2013    时间: 2013-12-13 18:14
try
            {
                DateTime time = Convert.ToDateTime(dt);//判断是否是日期格式、不是则抛出异常不是日期格式!
                this.lbl_zhuanh.Text = Im.Text + time.ToString("yyyy-MM-dd") + tail.Text;//是、则按照yyyy-MM-dd格式

               
            }
            catch
            {
                Response.Write("<script>alert('你输入的日期格式不正确')</script>");
            }   
作者: 一席倾城    时间: 2013-12-13 18:22
是限定日期的格式还是随便的文本文档读入后判断
如果是限定日期格式的话就简单多了,如果是文本的话就要和关键词比对对已知的格式都做判断,个人觉得需要的时候可以限定下然后判断
个人见解,期待高手的看法
作者: 茹化肖    时间: 2013-12-13 19:06
你是说一段字符串吧?简单的办法是可以用正则表达式。
作者: liyi2013    时间: 2013-12-14 12:33
茹化肖 发表于 2013-12-13 19:06
你是说一段字符串吧?简单的办法是可以用正则表达式。

日期格式有很多种,用正则表达式怎么能保证所有的日期格式都通过验证呢?我也在想解决此问题!
作者: liyi2013    时间: 2013-12-14 12:35
一席倾城 发表于 2013-12-13 18:22
是限定日期的格式还是随便的文本文档读入后判断
如果是限定日期格式的话就简单多了,如果是文本的话就要和 ...

日期格式太多,用正则表达式怎么能保证一次通过所有格式的验证呢
作者: 土豆泥    时间: 2013-12-14 14:02
毕竟程序没有那么智能,只能靠人工提前预判可能会有几种输入形式,然后进行判断识别。如果条件任意的话,那就没有办法,毕竟又不是模糊式的编程语言。所以只能提前规定好,只能按照预判的几种格式之一输入,否则就报错。
作者: V_John    时间: 2013-12-14 18:04
如果问题得到解决,请修改为已解决
作者: liyi2013    时间: 2013-12-15 18:16
V_John 发表于 2013-12-14 18:04
如果问题得到解决,请修改为已解决

怎么修改、不知道 的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2