c#datetime小时分钟验证

时间:2011-11-08 23:54:05

标签: c# regex

11/11/2011 15:04  VALID ANYTHING OUTSIDE OF THIS IS FORMAT INVALID
11/11/11 12:04    INVALID
11/11/2011 15:0   INVALID

我在考虑最小字符为16 我还可以做些什么。还有其他解决方案吗?

2 个答案:

答案 0 :(得分:4)

您应该查看TryParseExact并查看是否可以解析日期,这是根据here改编的。

string dateString = "11/11/2011 15:04"; // <-- Valid
string format = "dd/MM/yyyy HH:mm";
DateTime dateTime;
if (DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
{
  Console.WriteLine(dateTime);
}

以上使用dd和MM,这意味着它需要两位数的日期和月份。如果你只想要一个数字,只需使用单数d / M.

答案 1 :(得分:3)

我会用:

DateTime parsedValue = DateTime.ParseExact(stringOfDateTime, "MM/dd/yyyy HH:mm")

(虽然我不知道你的月份或日期是否因为你们两个都选择了11而来)