一个字符串 20060405 怎样验证能否转换成日期
解决方案 »
- 大家帮个忙!!
- 触发器为什么一次复制两条同样的数据到历史表,请帮我看看,谢谢
- WinFrom程序——打开指定xml文件的一个小程序!!!
- 修改App.Config 文件问题
- 怎么样才算一个高手?
- 求<<C#线程参考手册 >>电子版下载
- 关于TREEVIEW滚动条问题,百思不得其解,希望帮忙(WINFORM)!!
- H264编码文件如何转换成RTMP文件,求指教,用C#
- 为什么会这样?请各位不吝赐教!
- 我想用C#写这样一个程序:捕获并模拟浏览器对在指定时间段内向一站点发送的请求
- 新手问个简单的问题,怎么把一个字符串 2006-1-1 12:23:00 格式化成2006-01-01的形式?
- 我vs2005中的空格都变成了绿点,眼花缭乱地,怎么给它取消啊
alert("\请输入正确的生日年份!");
form.txtYear.focus();
return false;
}function fIsDate(strDate){
//日期格式:YYYY-MM-DD
//功能:判断一个字符串是否为合法日期
var strSeparator = "-"; //日期分隔符
var strDateArray;
var intYear;
var intMonth;
var intDay;
var boolLeapYear;
strDateArray = strDate.split(strSeparator);
if(strDateArray.length!=3) return false;
intYear = parseInt(strDateArray[0],10);
intMonth = parseInt(strDateArray[1],10);
intDay = parseInt(strDateArray[2],10);
if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) return false;
if(intMonth>12||intMonth<1) return false;
if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1)) return false;
if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1)) return false;
if(intMonth==2){
if(intDay<1) return false;
boolLeapYear = false;
if((intYear%100)==0){
if((intYear%400)==0) boolLeapYear = true;
}
else{
if((intYear%4)==0) boolLeapYear = true;
}
if(boolLeapYear){
if(intDay>29) return false;
}
else{
if(intDay>28) return false;
}
}
return true;
}
然后try
{
Datetime.parse(...);
}
catch
{}
try则转换成功,catch则失败
{
public static void Main()
{
DateTime dt;
string s1 = "2006-08-04";
string s2 = "20060229";
DateTime.TryParse(s1, out dt);
Console.WriteLine(dt);
DateTime.TryParse(s2, out dt);
Console.WriteLine(dt);
Console.ReadLine();
}
}错误的格式转换出来的是公元1年1月1日