一个关于日期的格式化问题(正则表达式) 急急...

panlehua666 2004-04-30 01:09:28
把文本框中日期格式化成2004-02-30 这种格式的正则表达式怎么写呢?请高手指点.
...全文
77 10 点赞 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
conghui 2004-09-29
string _regex_Date = "^(?:(?:(?:(?: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]))$";
  • 打赏
  • 举报
回复
xamcsdn2 2004-04-30
good
  • 打赏
  • 举报
回复
wangsaokui 2004-04-30
好! sportdog(会编程的狗) 应该改名为superdog
  • 打赏
  • 举报
回复
zhaozhongju 2004-04-30
学习,UP
  • 打赏
  • 举报
回复
tashanzhishi 2004-04-30
楼上的牛!!
  • 打赏
  • 举报
回复
sportdog 2004-04-30
function validateCNDate( strValue ) {
var objRegExp = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/


if(!objRegExp.test(strValue))
return false;
else{
var arrayDate = strValue.split(RegExp.$1);
var intDay = parseInt(arrayDate[2],10);
var intYear = parseInt(arrayDate[0],10);
var intMonth = parseInt(arrayDate[1],10);

if(intMonth > 12 || intMonth < 1) {
return false;
}

var arrayLookup = { '1' : 31,'3' : 31, '4' : 30,'5' : 31,'6' : 30,'7' : 31,
'8' : 31,'9' : 30,'10' : 31,'11' : 30,'12' : 31}

if(arrayLookup[parseInt(arrayDate[1])] != null) {
if(intDay <= arrayLookup[parseInt(arrayDate[1])] && intDay != 0)
return true;
}

if (intMonth-2 ==0) {
var booLeapYear = (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0));
if( ((booLeapYear && intDay <= 29) || (!booLeapYear && intDay <=28)) && intDay !=0)
return true;
}
}
return false;
}
  • 打赏
  • 举报
回复
shoutor 2004-04-30
补充一下, 照bian8021(河流)的做是不行的,你应该先将TextBox中的内容转换为日期格式,可以使用Convert.ToDateTime(str),然后再ToString("yyyy-MM-dd")
  • 打赏
  • 举报
回复
tashanzhishi 2004-04-30
这是yyyy-mm-dd hh:mm:ss 的
/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/ ;
这是 yyyy-mm-ddde 的
/^(\d{4})\-(\d{2})\-(\d{2})$/

这只能保证格式正确,不能保证是合法的时间。
  • 打赏
  • 举报
回复
bian8021 2004-04-30
TextBox.text.ToString("yyyy-MM-dd")就可以了。
  • 打赏
  • 举报
回复
smx717616 2004-04-30
有个网站上有,你搜一下,好多人问了
you can use
cytpe
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

5.9w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-04-30 01:09
社区公告
暂无公告