将字符串转换为DateTime会产生错误的结果

BaD*_*mer 1 c#

我正在尝试将字符串转换为DateTime对象,如下所示:

DateTime.ParseExact("31/12/2017","dd/mm/yyyy",CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

但我得到DateTime月数= 1而不是12!

日期= {1/31/2017 12:00:00 AM}

Nko*_*osi 5

日期格式字符串使用月份的分钟.使用MM一个月.mm是几分钟.

"mm"分钟,从00到59.
"MM"月份,从01到12.

参考:自定义日期和时间格式字符串

这意味着您需要将代码段更新为...

DateTime.ParseExact("31/12/2017","dd/MM/yyyy",CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)