【发布时间】:2011-05-31 12:13:50
【问题描述】:
我的字符串格式为 2008 年 1 月 1 日
如何将其解析为 DateTime?
谢谢!
【问题讨论】:
我的字符串格式为 2008 年 1 月 1 日
如何将其解析为 DateTime?
谢谢!
【问题讨论】:
格式字符串“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);
}
}
请注意,文化在这里很重要,以便匹配正确的月份名称。 (我通常觉得不变的文化很方便,但当然只适用于它符合要求的情况。)
【讨论】:
一方面你可以使用简单的方法:
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);
【讨论】: