将字符串yyyyMM转换为Mon - yyyy

时间:2016-06-15 12:31:21

标签: c# datetime

我需要将yyyyMM格式的字符串转换为Mon-yyyy格式。例如,201606应返回Jun - 2016。 我试过的是

string strVal = "201606";
string monthYear = DateTime.Parse(strVal.ToString("MMM-yyyy")).ToString();

不工作。请帮忙。

4 个答案:

答案 0 :(得分:6)

试试这个:

string strVal = "201606";
string monthYear = DateTime.ParseExact(strVal, "yyyyMM", CultureInfo.InvariantCulture).ToString("MMM-yyyy");

首先,您必须将字符串转换为DateTime,然后再转换为string

答案 1 :(得分:6)

"201606"不是标准日期格式,因此您需要做两件事:

  1. 使用DateTime.ParseExact获取正确的DateTime
  2. 在DateTime上调用ToString("MMM-yyyy")以获取新的格式化日期:

    string strVal = "201606";
    string monthYear = DateTime.ParseExact(strVal, "yyyyMM", CultureInfo.CurrentCulture).ToString("MMM-yyyy");
    Console.WriteLine(monthYear);
    

答案 2 :(得分:3)

您必须先使用DateTime.ParseExact

DateTime yearMonth = DateTime.ParseExact("201606", "yyyyMM", null);
string monthYear = yearMonth.ToString("MMM-yyyy");

答案 3 :(得分:3)

使用ParseExact。

string strVal = "201606";
string monthYear = DateTime.ParseExact(strVal, "yyyyMM", CultureInfo.InvariantCulture).ToString("MMM-yyyy");