首页 > 解决方案 > Datetime.ParseExact 逆日月值

问题描述

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编写的

标签: .netdatetimeasp.net-corecurrentculture

解决方案


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


推荐阅读