我需要将yyyyMM格式的字符串转换为Mon-yyyy格式。例如,201606
应返回Jun - 2016
。
我试过的是
string strVal = "201606";
string monthYear = DateTime.Parse(strVal.ToString("MMM-yyyy")).ToString();
不工作。请帮忙。
答案 0 :(得分:6)
试试这个:
string strVal = "201606";
string monthYear = DateTime.ParseExact(strVal, "yyyyMM", CultureInfo.InvariantCulture).ToString("MMM-yyyy");
首先,您必须将字符串转换为DateTime
,然后再转换为string
。
答案 1 :(得分:6)
"201606"
不是标准日期格式,因此您需要做两件事:
DateTime.ParseExact
获取正确的DateTime
。在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");