如何判断 一个字符串是否日期 例如 "19980101" 是日期;"aaa110"不是日期 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 string str="aaa110";try{ Convert.ToDateTime(str);}catch{ } 包含闰年二月等等的所有判断^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$ 我有一个正则,很好,比在www.baidu.com上找到的,据说是现在最好用的那个还要好,baidu的那个说支持 闰年,其实不是如果考虑给我多点分的话,我也愿意分享,HOHO~~ 用正则可以很简单地表示出来不卖关子了,贴出来分享一下呵呵,分数楼主看着给就好了^(?:(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-)(?:0?2\1(?:29)))|(?:(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))))$支持 / - 更重要的是对闰年的支持非常之好 如果怕麻烦就用try Convert.ToDateTime吧 我支持以下方法:string str="aaa110";try{Convert.ToDateTime(str);}catch{}因为大多数情况下这种资源的消耗不会影响系统功能的。只有在非常复杂的系统中,才会有一点影响。资源的消耗很多情况下是感觉不到的。 用正则比较麻烦,我感觉还是用try比较好 方法有31.正则2.很多人都爱用的try 影响性能3.用CompareValidator 哈哈,这个估计很多人不知道 在.net 1.x中可以使用转换是否产生异常来判断,在.net 2.0中可以使用DateTime.TryParse 方法或DateTime.TryParseExact 方法 来做。 关于 GetHttp 以及System.IO.Stream 关于获取网站所有缓存 小学题目:你不一定会! 有本事来试试(建议最好遍个程) 下载程序 Outlook bar左部列表控件该怎样给按钮添加单击事件呢 一段动态加载的代码 无法引发自定义事件 C#如何使用openGL 关于本地化郁闷的问题?急!!!高手请进 关于C#程序贴图美化的问题 关于信息佯藏的问题 C#中CheckListBox如何与数据库的表绑定 ? 新手问题 还原数据库遇到的问题 因为数据库正在使用,所以未能获得对数据库的排它访问权。
try
{
Convert.ToDateTime(str);
}
catch
{
}
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$
baidu的那个说支持 闰年,其实不是如果考虑给我多点分的话,我也愿意分享,HOHO~~
不卖关子了,贴出来分享一下
呵呵,分数楼主看着给就好了^(?:(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-)(?:0?2\1(?:29)))|(?:(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))))$支持 / - 更重要的是对闰年的支持非常之好
string str="aaa110";
try
{
Convert.ToDateTime(str);
}
catch
{}
因为大多数情况下这种资源的消耗不会影响系统功能的。
只有在非常复杂的系统中,才会有一点影响。
资源的消耗很多情况下是感觉不到的。
1.正则
2.很多人都爱用的try 影响性能
3.用CompareValidator 哈哈,这个估计很多人不知道
在.net 2.0中可以使用
DateTime.TryParse 方法
或
DateTime.TryParseExact 方法
来做。