2

假设我的 ID 号以:911125 开头...

91 = 1991(年)
11 = 十一月(月)
25 = 日(日)

我怎样才能得到这个格式:1991 年 11 月 25 日?

编辑:这是我尝试过的,但我知道这是错误的:

DateTime dt = DateTime.ParseExact(dateOfBirth, "yyMMdd", CultureInfo.InvariantCulture);
4

1 回答 1

5

您需要将其解析为DateTime对象(DateTime.TryParseExact),然后您可以将其格式化为:

string str = "911125";
DateTime dt;
if (DateTime.TryParseExact(str
                            , "yyMMdd"
                            , CultureInfo.InvariantCulture
                            , DateTimeStyles.None
                            , out dt))
{
    Console.WriteLine(dt.ToString("dd MMMM yyyy"));
}
else
{
    Console.WriteLine("Invalid date string");
}

你会得到:

25 November 1991

编辑:

您的代码应该可以正常工作,它正在解析Date,但您没有格式化它以进行显示。

string formattedDate = dt.ToString("dd MMMM yyyy");

我使用的原因DateTime.TryParseExact是,如果解析失败,它不会抛出异常。DateTime.ParseExact会做同样的工作,但如果传递给它的字符串与提供的格式不匹配,它会抛出异常。

于 2013-09-17T17:18:58.737 回答