【问题标题】:How to convert January 1, 2008 in c# datetime如何在 c# datetime 中转换 2008 年 1 月 1 日
【发布时间】:2011-05-31 12:13:50
【问题描述】:

我的字符串格式为 2008 年 1 月 1 日

如何将其解析为 DateTime?

谢谢!

【问题讨论】:

    标签: c# asp.net datetime


    【解决方案1】:

    格式字符串“MMMM d, yyyy”应该可以工作。示例代码:

    using System;
    using System.Globalization;
    
    class Test
    {
        static void Main()
        {
            string text = "January 1, 2008";
    
            DateTime dt = DateTime.ParseExact(text, "MMMM d, yyyy",
                                              CultureInfo.InvariantCulture);
            Console.WriteLine(dt);
        }
    }
    

    请注意,文化在这里很重要,以便匹配正确的月份名称。 (我通常觉得不变的文化很方便,但当然只适用于它符合要求的情况。)

    【讨论】:

      【解决方案2】:

      一方面你可以使用简单的方法:

       string dateString = "January 1, 2008";
      
       DateTime parseValue = DateTime.Parse(dateString);
      

      或者确切的、扩展的方式:

       CultureInfo englishCulture = CultureInfo.CreateSpecificCulture("en-EN");
       string dateString = "January 1, 2008";
       string formatString = "MMMM d, yyyy";
      
       DateTime extendedWay = DateTime.ParseExact(
           dateString,
           formatString,
           englishCulture.DateTimeFormat);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-29
        • 2019-11-23
        • 1970-01-01
        • 2012-01-19
        • 1970-01-01
        • 1970-01-01
        • 2012-04-21
        相关资源
        最近更新 更多