本文实例讲述了C#验证给定字符串形式日期是否合法的方法。分享给大家供大家参考。具体分析如下:
这段C#代码用于验证日期的有效性,对于用户输入的不规则日期也作了简单处理,比如用户输入了“今天”,则代码会认为用户要返回的是今天的日期,另外可以对纯数字的日期进行解析,比如:20130906
/// <summary> /// 验证日期是否合法,对不规则的作了简单处理 /// </summary> /// <param name="date">日期</param> public static bool IsDate(ref string date) { //如果为空,认为验证合格 if (IsNullOrEmpty(date)) { return true; } //清除要验证字符串中的空格 date = date.Trim(); //替换\ date = date.Replace(@"\", "-"); //替换/ date = date.Replace(@"/", "-"); //如果查找到汉字"今",则认为是当前日期 if (date.IndexOf("今") != -1) { date = DateTime.Now.ToString(); } try { //用转换测试是否为规则的日期字符 date = Convert.ToDateTime(date).ToString("d"); return true; } catch { //如果日期字符串中存在非数字,则返回false if (!IsInt(date)) { return false; } #region 对纯数字进行解析 //对8位纯数字进行解析 if (date.Length == 8) { //获取年月日 string year = date.Substring(0, 4); string month = date.Substring(4, 2); string day = date.Substring(6, 2); //验证合法性 if (Convert.ToInt32(year) < 1900 || Convert.ToInt32(year) > 2100) { return false; } if (Convert.ToInt32(month) > 12 || Convert.ToInt32(day) > 31) { return false; } //拼接日期 date = Convert.ToDateTime(year + "-" + month + "-" + day).ToString("d"); return true; } //对6位纯数字进行解析 if (date.Length == 6) { //获取年月 string year = date.Substring(0, 4); string month = date.Substring(4, 2); //验证合法性 if (Convert.ToInt32(year) < 1900 || Convert.ToInt32(year) > 2100) { return false; } if (Convert.ToInt32(month) > 12) { return false; } //拼接日期 date = Convert.ToDateTime(year + "-" + month).ToString("d"); return true; } //对5位纯数字进行解析 if (date.Length == 5) { //获取年月 string year = date.Substring(0, 4); string month = date.Substring(4, 1); //验证合法性 if (Convert.ToInt32(year) < 1900 || Convert.ToInt32(year) > 2100) { return false; } //拼接日期 date = year + "-" + month; return true; } //对4位纯数字进行解析 if (date.Length == 4) { //获取年 string year = date.Substring(0, 4); //验证合法性 if (Convert.ToInt32(year) < 1900 || Convert.ToInt32(year) > 2100) { return false; } //拼接日期 date = Convert.ToDateTime(year).ToString("d"); return true; } #endregion return false; } }
希望本文所述对大家的C#程序设计有所帮助。
本文向大家介绍C#验证给定字符串是否为数字的方法,包括了C#验证给定字符串是否为数字的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#验证给定字符串是否为数字的方法。分享给大家供大家参考。具体分析如下: 这段C#代码用于验证给定的字符串是否为数字,不能用于验证负数,字符串中只能出现数字和小数点,否则认为不是数字,不验证数字的长度,也就是说,给定的字符串再长,哪怕是1万个字符,也可以
本文向大家介绍python判断给定的字符串是否是有效日期的方法,包括了python判断给定的字符串是否是有效日期的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python判断给定的字符串是否是有效日期的方法。分享给大家供大家参考。具体分析如下: 这里python判断给定的字符串是否是一个有效的日期,如果是一个日期格式的字符串,该函数返回True,否则返回False 希望本文所述对大
问题内容: 最近开始使用WEB UI。并遇到了日期字符串解析/验证的问题。我发现“ dd-mm-yyyy”的一些方法是: 匹配-验证不完整,不灵活。 有人在帖子中建议使用可能的日期字符串对Set进行预初始化-快速,有效,但也不灵活且占用内存 有没有更简单的方法,也许可以在公共库中使用? 请不要建议SimpleDateFormat :) *Java 8的 *更新 正确答案是http://coding
问题内容: 我从API收到日期字符串,其格式为。 我目前正在使用正则表达式来验证字符串格式,这种方法可以正常工作,但是我可以看到某些情况,根据字符串,它可能是正确的格式,但实际上是无效的日期。即,例如。 PHP中是否有更好的方法来接收诸如这样的字符串,并确定该日期是否为该格式的有效日期? 问题答案: 您可以为此目的使用类: 测试用例:
我从API接收一个日期字符串,它的格式为。 我目前正在使用正则表达式来验证字符串格式,它工作正常,但是我可以看到一些情况,根据字符串,它可能是正确的格式,但实际上是无效的日期。 在PHP中有没有更好的方法来获取字符串,例如,并判断它是否是格式的有效日期?
屏幕甲酸盐应为: