Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于字符串的日期时间格式或模式检查_C#_.net_Regex - Fatal编程技术网

C# 基于字符串的日期时间格式或模式检查

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或任何正常方法

我有一个datetime字符串

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耕耘花园,它可能会工作,但它真的是正确的工具吗?