【问题标题】:Date formatting yyyymmdd to yyyy-mm-dd日期格式 yyyymmdd 到 yyyy-mm-dd
【发布时间】:2010-11-22 22:17:02
【问题描述】:

我正在尝试使用以下代码将 yyyymmdd 格式的日期转换为 yyyy-mm-dd:

tdrDate = DateTime.ParseExact(dateString, "yyyymmdd", null).ToString("yyyy-MM-dd");

这行得通的唯一问题是,当我有这样的日期“20070205”时,我会返回“2007-01-05”。我不知道为什么会这样,感谢任何帮助。

【问题讨论】:

    标签: c# .net datetime


    【解决方案1】:
    tdrDate = DateTime.ParseExact(dateString, "yyyyMMdd", null).ToString("yyyy-MM-dd");
    

    你需要的是 MM,而不是 mm。 mm 代表分钟。

    【讨论】:

      【解决方案2】:

      应该是:

      DateTime.ParseExact(dateString, "yyyyMMdd", null).ToString("yyyy-MM-dd");
      

      第一个日期格式字符串中的大写“MM”。

      【讨论】:

      • 哇,这里有很多亲密的人!
      【解决方案3】:

      "yyyymmdd" 必须是 "yyyyMMdd"

      mm分钟

      【讨论】:

        【解决方案4】:

        试试这个:

        tdrDate = DateTime.ParseExact(dateString, "yyyyMMdd", null).ToString("yyyy-MM-dd");
        

        使用 MM 代替 mm, mm 代表分钟 & MM 代表月份,这就是为什么它采用 01(MM 的默认值)。

        【讨论】:

          【解决方案5】:

          格式字符串区分大小写,因此“mm”与“MM”不同。您正在解析 分钟 ("mm"),这就是为什么月 ("MM") 的值始终为默认值 1 的原因。

          【讨论】:

            【解决方案6】:

            试试这个: DateTime.ParseExact("20070205", "yyyyMMdd", null).ToString("yyyy-MM-dd")

            【讨论】:

              【解决方案7】:

              免责声明我对 C# 的日期格式一无所知。

              但我猜问题是您在第一个格式字符串中使用了mm,而在第二个格式字符串中使用了MM

              【讨论】:

                【解决方案8】:

                【讨论】:

                  【解决方案9】:

                  在这里,您将解析日期以创建日期对象,将日期对象格式化为字符串,并丢弃日期对象。这听起来比简单的字符串处理工作更多:

                  tdrDate = dateString.Substring(0,4) + '-' + 
                      dateString.Substring(4,2) + '-' + 
                      dateString.Substring(6,2);
                  

                  除非您需要由DateTime.ParseExact() 执行的验证,如果给定的日期无效,则会抛出System.FormatException,否则我可能只使用字符串格式化方法。

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2016-01-02
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多