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

panlehua666 2004-04-30 01:09:28
把文本框中日期格式化成2004-02-30 这种格式的正则表达式怎么写呢?请高手指点.
...全文
97 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧