【问题标题】:C# DateTime FormatException for dd MMM yyyydd MMM yyyy 的 C# DateTime FormatException
【发布时间】:2013-11-20 12:44:49
【问题描述】:

我有一个字符串“2013 年 12 月 10 日”。我只想将其转换为 Datetime 类型。格式应为“dd MMM yyyy”。

我使用了以下代码。

DateTime watchDate = DateTime.ParseExact("18-Nov-2013", "dd MMM yyyy", CultureInfo.CurrentCulture);

但我收到了 FormatException。我哪里错了?

【问题讨论】:

  • 可能是关于 SO 最重复的问题

标签: c#


【解决方案1】:

你需要破折号:

DateTime watchDate = DateTime.ParseExact("18-Nov-2013", "dd-MMM-yyyy", CultureInfo.InvariantCulture);
//                                                         ^   ^

格式必须与您的输入相匹配。其中包含破折号。

如果你想将它重新存储在一个字符串中(不知道你为什么要这样做,因为你已经有了你想要的字符串)那么你需要再次格式化它:

string date = watchDate.ToString("dd-MMM-yyyy");

【讨论】:

  • 我在 datetime 对象中的输出应该是 2013 年 11 月 18 日。您能否分享代码以获取此输出?
  • 如果我执行它,输出是 18-11-2013 00:00:00
  • 等等。当然它会是 18-11-2013 .. 它是一个 DateTime 对象.. 不是字符串。如果你想要一个字符串,你需要在之后再次格式化它。
  • 我什至不知道如何回答这个问题。当您解析日期时,DateTime 对象将保存您想要的确切日期。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
  • 2011-09-23
  • 2012-09-12
  • 2011-05-09
相关资源
最近更新 更多