Datetime.ParseExact 反转日月值

Datetime.ParseExact inverse day and month value

var dateString = "23/12/2019 06:30:00";
DateTime dt = DateTime.ParseExact(recordDateString.Trim(), "dd/MM/yyyy HH:mm:ss", new CultureInfo("fr-FR"));

我希望这个输出:23/12/2019 06:30:00 但 dt 对象值为:12/23/2019 06:30 PM

哪里错了?

注:代码是用.net core 2.2写的

您的 dt 变量包含您所期望的 - 2019 年 12 月 23 日。但是当您打印它时,它可能是使用使用 MM/dd/yyyy 的 en-US 语言环境打印的。 DateTime 类型仅存储实际时间值,而不存储语言环境(因此它有点忘记您是从 fr-FR 解析它的),它可以从任何语言环境解析并打印到任何其他语言环境。试试 dt.ToString(new CultureInfo("fr-FR")).