怎样知道这个字符串里的日期是有效日期? 用SubString分解出年月日然后System.DateTime dateTime = new System.DateTime(Year,Month,Day);看是否正确 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int d = 19850213; string str2 = d.ToString ("####/##/##") ; try { DataTime ff = Convert.ToDateTime (str2) ; } catch { "这不是有效的日期" } 如果字符串里的日期格式是一定的,那么可以用ParseExact方法:try{DateTime dt = DateTime.ParseExact(str1, "yyyyMMdd", null);}catch(Exception e){//日期无效}如果不一定的话,可以定义一些常用的格式:try{string[] formats = {"yyyyMMdd","yyyy-MM-dd"};//常用的格式都给出DateTime dt = DateTime.ParseExact(str1,formats,null, (System.Globalization.DateTimeStyles)7);}catch(Exception e){//日期无效}如果格式不一定的话,那可就难了。 谢谢帮忙.格式是YYYYMMDD:) 用孟子的方法肯定可行或者用正则表达式:string s = "19850231";string pattern = @"^([1-2]\d{3})(0[1-9]|1[0-2])([0-3][0-9])$";if(Regex.IsMatch(s,pattern)){...}但是作用有限,比如上面的0231也通过了,要精确匹配可能需要一个及其复杂的正则表达式 怎么在运行的窗体里输入的数据能保存起来,下次运行还能看见? 通过反射对属性赋值的问题 关于web数据采集 字典的遍历问题 C# 图形编程:如何在高速刷屏的情况下,实时绘制的曲线图形不闪动? 请教结构中的结构实例化问题 如何添加无重复的用户 求C#图书下载,每本20 请教:这段代码该放在哪里? c#构造函数如何设置默认值? 如何获得某一时间的小时数,分钟数和秒数? 怎么样作,我作的类不会被反汇编?
{
DataTime ff = Convert.ToDateTime (str2) ;
}
catch
{
"这不是有效的日期"
}
try{
DateTime dt = DateTime.ParseExact(str1, "yyyyMMdd", null);
}catch(Exception e){
//日期无效
}如果不一定的话,可以定义一些常用的格式:
try{
string[] formats = {"yyyyMMdd","yyyy-MM-dd"};//常用的格式都给出
DateTime dt = DateTime.ParseExact(str1,formats,null, (System.Globalization.DateTimeStyles)7);
}catch(Exception e){
//日期无效
}如果格式不一定的话,那可就难了。
:)
或者用正则表达式:
string s = "19850231";
string pattern = @"^([1-2]\d{3})(0[1-9]|1[0-2])([0-3][0-9])$";
if(Regex.IsMatch(s,pattern))
{
...
}
但是作用有限,比如上面的0231也通过了,要精确匹配可能需要一个及其复杂的正则表达式