2

我从 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 这样的值

有任何想法吗?

4

3 回答 3

2

您想使用DateTime.ParseExactDateTime.TryParseExact

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

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

这里的例子: -

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

于 2012-11-05T10:33:58.973 回答
1

您可以使用 RegEx 来做到这一点。这样的事情应该有助于 @"\d{2}/\d{2}/\d{4}(\s+\d{2}\:\d{2}\:\d{2})?"

于 2012-11-05T10:33:21.650 回答
1

您可以在客户端使用各种类似的 jquery 插件/功能来处理它,或者简单的 Google 搜索可以返回许多其他有用的结果。

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

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

希望能帮助到你。谢谢

于 2012-11-05T10:45:01.067 回答