【问题标题】:Error parsing single digit date解析单个数字日期时出错
【发布时间】:2017-02-06 05:37:56
【问题描述】:

代码,简化:

DateTime.ParseExact("12:53 PM - Aug  6, 2016", "hh:mm tt - MMM d, yyyy", CultureInfo.InvariantCulture);

说它无法将字符串识别为有效的日期时间值。 仅当日为一位数时才会发生。源是第三方 Web API,因此更改输入字符串不是一个可行的选择(它应该像那样工作)

有人看到我看不到的东西吗?

谢谢

【问题讨论】:

  • Aug 6 之间有2个空格,是不是和你遇到的错误有关?
  • 是的,大概就是这样,因为当日期是两位数时,只有一个空格。这里的间距比在 VisualStudio 中更容易看到。我必须通知 API 提供者,因为这显然是格式错误。谢谢!
  • 投票结束为:“这个问题是由无法再复制的问题简单的印刷错误引起的。”跨度>

标签: c# .net parsing datetime format


【解决方案1】:

您可以尝试使用正则表达式从原始字符串中删除空格并更改您的解析格式:

DateTime.ParseExact(Regex.Replace("12:53 PM - Aug  6, 2016", "\\s", ""), "hh:mmtt-MMMd,yyyy", CultureInfo.InvariantCulture);

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    相关资源
    最近更新 更多