下面的代码A和代码B分区的ParseExact方法是返回Month = 1而不是12.为什么?注意,没有例外。 THX。
cult = CultureInfo.InvariantCulture;
//Code A
//This code sets dt2=01/01/2009, with month = 01 not 12!
cult = CultureInfo.InvariantCulture;
DateTime dt2 = DateTime.ParseExact("2009-12-1", "yyyy-m-d", cult);
printIt(dt2);
//Code B
//This code sets dt3=01/01/2009, with month = 01 not 12!
DateTime dt3 = DateTime.ParseExact("2009-12-1", "yyyy'-'mm'-'d", cult);
printIt(dt3);
//Code C
//This code works and sets dt4=12/01/2009
DateTime dt4 = DateTime.Parse("2009-12-1", cult);
printIt(dt4);
答案 0 :(得分:3)
小写m
是分钟,您必须使用MM
代替
这例如有效:
DateTime dt2 = DateTime.ParseExact("2009-12-1", "yyyy-MM-d", cult);