Asp.net 如何验证字符串是否为dd-M-y格式的日期,而不是过去的日期?
我有一个日期字段,格式为“dd-M-y”,示例01-Jan-2013。首先,我想检查格式,它必须是“dd-M-y”,其次,日期不应该是在过去,但可以是今天和以后Asp.net 如何验证字符串是否为dd-M-y格式的日期,而不是过去的日期?,asp.net,regex,Asp.net,Regex,我有一个日期字段,格式为“dd-M-y”,示例01-Jan-2013。首先,我想检查格式,它必须是“dd-M-y”,其次,日期不应该是在过去,但可以是今天和以后 我该怎么做?我想使用正则表达式,但我不知道什么是合适的。您应该使用DateTime.TryParseExact而不是使用正则表达式来验证日期时间 string testDate = "01-Jan-2013"; DateTime temp; if (DateTime.TryParseExact(testDate,
我该怎么做?我想使用正则表达式,但我不知道什么是合适的。您应该使用
DateTime.TryParseExact
而不是使用正则表达式来验证日期时间
string testDate = "01-Jan-2013";
DateTime temp;
if (DateTime.TryParseExact(testDate,
"dd-MMM-yyyy",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out temp) &&
(temp > DateTime.Today))
{
//Valid date and greater than today
}
else
{
//Invalid date or less than today
}
我认为你应该约束用户以正确的格式填写日期,而不是检查它
在这种情况下,最好的解决方案是我认为最好先将其转换为
DateTime
对象。它将使数据操作和验证更容易、更可靠。