我正在尝试打印月份的名称,而不是每个月的整数值。 (例如,如果日期是2/2/2002,我希望“月”读出“二月”而不是“二月”。
我正在使用system.DateTime.now获取当前月份。当我尝试在表单上打印当前月份时,它只是将月份的相关整数值放入,而我希望有月份名称。
我知道这可以使用switch-case或if语句单独将数字转换为字值,但我只是想知道是否有一个简单的内置转换命令会自动告诉应用程序打印出来月份的名称,而不是它的相关整数值。
我使用C#-4.0,Silverlight-4.0在Visual Studio 2010环境中进行编程。
答案 0 :(得分:28)
尝试DateTime.Now.ToString("MMMM")
有关其他格式字符串,请参阅MSDN: Custom Date and Time Format Strings。
答案 1 :(得分:23)
你也可以这样:
var month = 7;
var dtf = CultureInfo.CurrentCulture.DateTimeFormat;
string monthName = dtf.GetMonthName(month);
string abbreviatedMonthName = dtf.GetAbbreviatedMonthName(month);
资源:
答案 2 :(得分:4)
如果您想要完整日期(在您的情况下:2002年2月2日),请使用:
myDate.ToString("MMMM dd, yyyy")
仅在一个月内:.ToString("MMMM")
是正确的。