如何在c#datetime中转换2008年1月1日

时间:2010-12-28 09:33:33

标签: c# asp.net datetime

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

我怎样才能将它解析为DateTime?

谢谢!

2 个答案:

答案 0 :(得分:5)

格式字符串“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);
    }
}

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

答案 1 :(得分:1)

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

 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);