估算无效值

时间:2013-11-19 10:28:15

标签: c#

我的数据中有一些无效的日期值。我想用无效的日期来计算无效的日期值,这样做的最佳算法是什么? 例如

Date 
--------------------
Day/Month/Year
2/15/2001
Missing-Value
3/-1/1999
32/2/1998
-1/2/2007
1/1/-1999     

3 个答案:

答案 0 :(得分:4)

使用DateTime.TryParse()。然后,您可以检查日期是否有效。

string dateString = "32/11/2013";
DateTime date = new DateTime();
if (!DateTime.TryParse(dateString, out date))
{
    date = myDefaultDate; //replace the invalid date with a default one
    //or with the current date
    //date = DateTime.Now.ToShortDateString(); 
}

答案 1 :(得分:0)

您可以执行以下操作:

List<string> your_input_dates = new List<string>();
DateTime temp_date;
foreach (var date in your_input_dates) {
    var date_valid = DateTime.TryParse(date, out temp_date)
    if (date_valid)
    // do something with valid date, using temp_date variable
    else
    // do something else, prompt for error, or just continue
}

答案 2 :(得分:0)

您没有提到如何从无效日期中找到有效日期。所以,我只是用当前时间替换了无效的那些。

var list = new List<string>
               {
                   "11-03-2013",
                   "11-03-2013",
                   "11-03-2013",
                   "11-04-2013",
                   "11-04-2013",
                   "11-04-2013"
               };

DateTime d;
IEnumerable<string> valid = list.Select(s => DateTime.TryParse(s, out d) ? s : DateTime.Now.ToShortDateString());