C# 基于字符串的日期时间格式或模式检查
我有一个datetime字符串C# 基于字符串的日期时间格式或模式检查,c#,.net,regex,C#,.net,Regex,我有一个datetime字符串 string strDate = "20140424_18255375"; 如何验证datetime是否具有此格式yyyyymmdd\u HHmmssff 我试过: bool isTrue = DateTime.TryParseExact(strDate, "YYYYMMDD_HHmmssff", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt); 如果有更好的方法使用RegEx或任何正常方法
string strDate = "20140424_18255375";
如何验证datetime是否具有此格式yyyyymmdd\u HHmmssff
我试过:
bool isTrue = DateTime.TryParseExact(strDate, "YYYYMMDD_HHmmssff", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);
如果有更好的方法使用RegEx或任何正常方法验证日期时间,请提供帮助。使用
TryParseExact
是正确的方法,但您需要使用正确的方法。在这种情况下,我认为您需要:
bool valid = DateTime.TryParseExact(strDate, "yyyyMMdd_HHmmssff",
CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);
注意使用
yyyy
代替yyy
和dd
代替dd
。格式说明符区分大小写。使用TryParseExact
是正确的方法,但您需要使用正确的格式。在这种情况下,我认为您需要:
bool valid = DateTime.TryParseExact(strDate, "yyyyMMdd_HHmmssff",
CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);
注意使用yyyy
代替yyy
和dd
代替dd
。格式说明符区分大小写。试试这个
public override bool IsValid(object value)
{
var dateString = value as string;
if (string.IsNullOrWhiteSpace(dateString))
{
return true; // Not our problem
}
DateTime result;
var success = DateTime.TryParse(dateString, out result);
return success;
}
只需添加日期格式。试试这个
public override bool IsValid(object value)
{
var dateString = value as string;
if (string.IsNullOrWhiteSpace(dateString))
{
return true; // Not our problem
}
DateTime result;
var success = DateTime.TryParse(dateString, out result);
return success;
}
只需为日期添加格式。确切地说OP建议了什么确切地说OP建议了什么可能很困难-e。G如何处理闰年?因此,您的解决方案应该是好的。如果您可以帮助DateTime的格式与RegExUsing Regex进行检查,这很好,因为这就像使用srewdriver耕耘花园一样,它可能会起作用,但它真的是正确的工具吗?Regex可能很难-e。G如何处理闰年?因此,您的解决方案应该是好的。如果您可以帮助DateTime的格式检查RegExUsing Regex,这就像使用srewdriver耕耘花园,它可能会工作,但它真的是正确的工具吗?