如何判断一个字符串是否是时间格式

lqdcdw 2006-06-19 08:38:27
如何判断一个字符串是否是时间格式?在不是正确有时间时返回false;
...全文
646 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
viena 2006-06-20
  • 打赏
  • 举报
回复
怎样才算时间格式?20060620是不是?

自己写个方法来判断咯
Reeezak 2006-06-20
  • 打赏
  • 举报
回复
2005的话
直接使用
datetime.tryparse方法即可
Reeezak 2006-06-20
  • 打赏
  • 举报
回复
Regex regex = new Regex(pattern); //pattern就是一个正则表达式

bool validation = regex.IsMatch("2006-06-12");
Reeezak 2006-06-20
  • 打赏
  • 举报
回复
使用正则表达式
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$
//以上为日期

^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$
//以上为日期时间
amandag 2006-06-20
  • 打赏
  • 举报
回复
1楼的方法比较直接
zhihongf 2006-06-20
  • 打赏
  • 举报
回复
除了楼上的额方法,我也没想出比这更好的法子了,
不过用Try错误处理对软件的运行效率肯定会有影响。
qqqdong 2006-06-19
  • 打赏
  • 举报
回复
使用
try
{
datatime a = convert.todatetime(...)
}
catch
{
//处理错误
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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