可能的重复: 如何在c#中获得MonthName ?

我使用下面的c#语法从月份中获取月份名称,没有,但是我得到了八月,我只想要八月。

System.Globalization.DateTimeFormatInfo mfi = new 
System.Globalization.DateTimeFormatInfo();
string strMonthName = mfi.GetMonthName(8).ToString();

任何的建议……


你需要GetAbbreviatedMonthName


将GetMonthName替换为GetAbbreviatedMonthName,使其为:

string strMonthName = mfi.GetAbbreviatedMonthName(8);

对于短月份名称使用:

string monthName = new DateTime(2010, 8, 1)
    .ToString("MMM", CultureInfo.InvariantCulture);

对于西班牙文化(“es”)的长/完整月份名称:

string fullMonthName = new DateTime(2015, i, 1).ToString("MMMM", CultureInfo.CreateSpecificCulture("es"));

缩写月份名称:“Aug”

DateTimeFormatInfo。gettabbreviatedmonthname方法(Int32)

返回指定月份的特定于区域性的缩写名称 基于与当前DateTimeFormatInfo相关联的区域性 对象。

string monthName = CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(8)

完整月份名称:“August”

DateTimeFormatInfo。方法(Int32)

返回指定月份的特定于区域性的全名 与当前DateTimeFormatInfo对象关联的区域性。

string monthName = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(8);

System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(4)

这个方法返回四月

如果你需要一些特殊的语言,你可以添加:

<system.web>
    <globalization culture="es-ES" uiCulture="es-ES"></globalization>
     <compilation debug="true"
</system.web>

或者你喜欢的语言。

例如,es-ES文化:

System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(4)

Returns 4:

返回:Abril(在西班牙语中,因为我们在我们的webconfig文件中将文化配置为es-ES,否则,您将得到April)

这应该有用。


你可以用下面的方法得到它,

DateTimeFormatInfo mfi = new DateTimeFormatInfo();
string strMonthName = mfi.GetMonthName(8).ToString(); //August

现在,获取前三个字符

string shortMonthName = strMonthName.Substring(0, 3); //Aug

这应该返回月份索引(1-12)中的月份文本(January - December)

int monthNumber = 1; //1-12  
string monthName = new DateTimeFormatInfo().GetMonthName(monthNumber);

var month = 5;
var cultureSwe = "sv-SE";
var monthSwe = CultureInfo.CreateSpecificCulture(cultureSwe).DateTimeFormat.GetAbbreviatedMonthName(month);
Console.WriteLine(monthSwe);

var cultureEn = "en-US";
var monthEn = CultureInfo.CreateSpecificCulture(cultureEn).DateTimeFormat.GetAbbreviatedMonthName(month);
Console.WriteLine(monthEn);

输出

maj
may

你也可以这样做来获取当前月份:

string monthName = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(DateTime.Now.Month);