C#DateTime.ParseExact产生错误的日​​期

时间:2018-09-23 16:28:33

标签: c# date datetime asp.net-core

我正在尝试以dd / mm / yyyy的形式解析日期字符串,但是我一直得到一致但无效的结果。我在做什么错了?

这是代码,它是输入

DateTime.ParseExact("23/09/2018","d/m/yyyy",CultureInfo.InvariantCulture) =>   1 / 23 / 18

DateTime.ParseExact("8/10/2018","d/m/yyyy",CultureInfo.InvariantCulture) =>  1 / 8 / 18

DateTime.ParseExact("30/04/2018","d/m/yyyy",CultureInfo.InvariantCulture) =>  1 / 30 / 18

我尝试使用CultureInfo.GetCultureInfo("en-UK")CultureInfo.GetCultureInfo("en-GH"),但结果仍然相同。

我尝试使用“ dd / mm / yyyy”结果仍然相同。

我也尝试按here所述对斜线进行qout,但结果仍然相同。

3 个答案:

答案 0 :(得分:4)

尝试一下:

DateTime.ParseExact("23/09/2018","dd/MM/yyyy",CultureInfo.InvariantCulture)

MM/M用于解析月份,mm/m用于解析分钟。

答案 1 :(得分:4)

在C#中,“ M”代表月份,“ m”代表分钟,Here中可以找到所有详细信息。

所以请尝试:

   Console.WriteLine(DateTime.ParseExact("8/10/2018","d/M/yyyy",System.Globalization.CultureInfo.InvariantCulture));

有关自定义实施的信息,请访问Here

答案 2 :(得分:2)

小“ m”代表分钟,尝试“ M”或“ MM”几个月