将月份int转换为月份名称
我只是试图使用DateTime
结构将1和12之间的整数转换成简化的月份名称。
这是我试过的:
DateTime getMonth = DateTime.ParseExact(Month.ToString(), "M", CultureInfo.CurrentCulture); return getMonth.ToString("MMM");
但是,我得到一个FormatException
在第一行,因为该string不是一个有效的DateTime
。 谁能告诉我如何做到这一点?
- 我是否破坏了StringBuilder的效率?
- 你什么时候使用StringBuilder.AppendLine / string.Format与StringBuilder.AppendFormat?
- 将枚举绑定到WinFormscombobox,然后进行设置
- 使用C#/ .NET上传和下载二进制文件到/从FTP服务器
- 我应该在方法结束时停止秒表吗?
CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(1);
请参阅这里了解更多细节。
要么
DateTime dt = DateTime.Now; Console.WriteLine( dt.ToString( "MMMM" ) );
或者如果你想得到文化特定的缩写名称。
GetAbbreviatedMonthName(1);
参考
var monthIndex = 1; return month = DateTimeFormatInfo.CurrentInfo.GetAbbreviatedMonthName(monthIndex);
你也可以试试这个
你可以做这样的事情,而不是。
return new DateTime(2010, Month, 1).ToString("MMM");
CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName( Convert.ToInt32(e.Row.Cells[7].Text.Substring(3,2))).Substring(0,3) + "-" + Convert.ToDateTime(e.Row.Cells[7].Text).ToString("yyyy");