为什么抛出 System.FormatException:String was not recognized as a valid DateTime

Why is this throwing System.FormatException:String was not recognized as a valid DateTime

为什么会这样:

Convert.ToDateTime("08/31/2017")

抛出一个 System.FormatException 而不是这个:

Convert.ToDateTime("09/12/2017")

如果您需要更多信息,请询问,我会更新或发表评论。我不知道是什么导致了这个问题,所以我不知道你需要什么细节。

在您的计算机文化中,此日期格式的默认顺序是 Day/Month/Year,因为 31 不是有效的月份,因此失败。如果你想要这个订单,你需要提供格式:

var x = DateTime.ParseExact("08/31/2017", "MM/dd/yyyy",CultureInfo.InvariantCulture);