如何验证字符串是正确的日期时间

时间:2012-11-05 10:30:15

标签: c# validation datetime

我从excel文件中获取了一些数据。

我想验证用户是否输入了有效的日期时间字符串。我曾尝试使用DateTime.Parse方法但发现某些值似乎已被接受。

例如,

如果我提交3.3作为日期时间,则DateTime.Parse方法将其作为有效日期时间接受并输出03/03/2012 00:00:00

我想要阻止这个。仅允许用户输入格式正确的日期时间。

例如,用户可以提供03/03/2012或03/03/2012 12:30:00但不提供01022012或3.3.2012等值

任何想法?

3 个答案:

答案 0 :(得分:2)

您想使用DateTime.ParseExactDateTime.TryParseExact

这允许您从您选择的日期格式字符串进行解析。

http://msdn.microsoft.com/en-us/library/system.datetime.tryparseexact.aspx

这里的例子: -

http://msdn.microsoft.com/en-us/library/ms131044.aspx

答案 1 :(得分:1)

您可以使用RegEx来实现此目的。这样的事情可以帮助@“\ d {2} / \ d {2} / \ d {4}(\ s + \ d {2} \:\ d {2} \:\ d {2})?”< / p>

答案 2 :(得分:1)

您可以使用各种jquery插件/函数(如this)在客户端处理它,或者简单的Google搜索可以返回许多其他有用的结果。

如果你想在服务器端处理它,(我不确定你在做什么项目)但是依靠它你可以编写自己的方法/使用Regex或Data Annotation MVC

如果您仍然遇到问题,请尝试添加一些有关您的项目的详细信息,例如语言,架构等,以便更有助于提供正确的解决方案。

希望它有所帮助。三江源