只是想知道是否有人能告诉我为什么在这行代码中(下面),ParseExact函数返回一个看似随机的日期而不是输入字符串中的实际日期?
foreach (Car c in cars)
{
Car obj = new Car();
obj.CarID = c.CarID;
obj.Reg = c.Reg;
obj.Make = c.Make;
obj.Model = c.Model;
obj.Mileage = c.Mileage;
if(c.LastInspection != null && c.LastInspection != "N/A")
{
obj.LastInspectionDate = DateTime.ParseExact(c.LastInspection, "yyyy'/'mm'/'dd", null);
}
obj.StaffID = c.StaffID;
obj.OfficeID = c.OfficeID;
carsDate.Add(obj);
}
return carsDate;
在我的一个记录中,'c.LastInspection'=“2013/06/08”,但由于某种原因,每次我使用上面的代码解析所述字符串时,'obj.LastInspectionDate'变为“星期二08 / 01/2013 00:06:00“。现在这一天和时间不要打扰我,因为我只用它来存储日期,但很明显,这是错误的约会!通过代码多次,我看不出我做错了什么。有任何想法吗?
答案 0 :(得分:7)
将格式字符串中的mm
更改为MM
。
mm
是:分钟,从00到59。
MM
是:月份,从01到12。
检查MSDN上的custom data and time format strings列表。
因为您使用输入字符串中的mm
06
作为分钟。并且因为没有指定月份1
被视为默认值。