代码之家  ›  专栏  ›  技术社区  ›  gene

C#如何将2018年4月25日转换为2018年4月26日?[副本]

  •  0
  • gene  · 技术社区  · 7 年前

    这个问题可能已经在这里得到了回答,但我找不到任何答案。 我正在尝试将字符串25APR18转换为2018-04-25。

    我尝试了以下操作:

    DateTime.ParseExact("25APR18", "yyyy-mm-dd", CultureInfo.InvariantCulture);
    

    但它不会转换,并给我一个错误:“字符串未被识别为有效的DateTime。”

    我无法找到正确的解决方案。

    有什么建议吗?

    2 回复  |  直到 7 年前
        1
  •  6
  •   derloopkat    7 年前

    您可以使用:

    DateTime date = DateTime.ParseExact("25APR18", "ddMMMyy", CultureInfo.InvariantCulture);
    

    字符串格式区分大小写,表示要匹配的输入格式。小写字母 mm 表示分钟,但您需要 月份缩写名称 MMM 这是您发布的代码的一个问题。可以找到格式说明符的完整列表 here

    拥有DateTime对象后,可以使用新格式以字符串形式检索日期:

    string formattedDate = date.ToString("yyyy-MM-dd");
    

    其产生:

    2018-04-25

        2
  •  0
  •   Jesse Milam    7 年前

    日期解析代码应为

    DateTime.ParseExact("25APR18", "ddMMMyy", CultureInfo.InvariantCulture);