IBM十进制到C#日期时间

IBM十进制到C#日期时间,c#,parsing,datetime,C#,Parsing,Datetime,我有一个datetime,它来自一个DB2数据库,现在我正试图将它转换为C#datetime Datetime.ParseExact(requestedate.ToString(), "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture); 它工作得非常完美,直到用户没有正确填写表单,并且数据库中的requestedate为“0”。 我可以这样做: Datetime paresedRequestedate; Try

我有一个datetime,它来自一个DB2数据库,现在我正试图将它转换为C#datetime

Datetime.ParseExact(requestedate.ToString(), "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
它工作得非常完美,直到用户没有正确填写表单,并且数据库中的requestedate为“0”。 我可以这样做:

Datetime paresedRequestedate;
    Try 
    { 
       paresedRequestedate = Datetime.ParseExact(requestedate.ToString(), "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
    } 
    catch(exception) 
    { 
       paresedRequestedate = default(DateTime);
    }

但我学会了不要在一个陷阱里做这种事情。有更好的方法吗?

尝试使用-使用更干净的代码会得到相同的结果。

尝试使用-使用更干净的代码会得到相同的结果。

尝试TryParse()但每次都会得到默认的日期时间。不是正确的dateif(DateTime.TryParse…),而是解析了日期字符串,否则格式错误。正如我前面所说,每次使用TryParse时,它都返回默认的日期时间,而不是正确的日期。换句话说,解析失败,但每次都会获取默认日期时间。不是正确的dateif(DateTime.TryParse…),而是解析了日期字符串,否则格式错误。正如我前面所说,每次使用TryParse时,它都返回默认的日期时间,而不是正确的日期。换句话说,解析失败我错过了那个方法我想:)TnxI错过了那个方法我想:)Tnx