Как получить название месяца в C#?
как можно найти имя месяца в C#? Я не хочу писать огромный switch
заявление или if
выписка по месяцу int
. In VB.Net вы можете использовать MonthName()
, но как насчет C#?
6 ответов:
вы можете использовать CultureInfo, чтобы получить имя месяца. Вы даже можете получить короткое название месяца, а также другие интересные вещи.
Я бы предложил вам поместить их в методы расширения, которые позволят вам писать меньше кода позже. Однако вы можете реализовать как вам нравится.
вот пример того, как это сделать с помощью методов расширения:
using System; using System.Globalization; class Program { static void Main() { Console.WriteLine(DateTime.Now.ToMonthName()); Console.WriteLine(DateTime.Now.ToShortMonthName()); Console.Read(); } } static class DateTimeExtensions { public static string ToMonthName(this DateTime dateTime) { return CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(dateTime.Month); } public static string ToShortMonthName(this DateTime dateTime) { return CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(dateTime.Month); } }
надеюсь, что это помогает!
Если вы просто хотите использовать MonthName, то обратитесь к Microsoft.VisualBasic и это в Microsoft.Визуальная основа.DateAndTime
//eg. Get January String monthName = Microsoft.VisualBasic.DateAndTime.MonthName(1);
Предположим ваш день сегодня. Надеюсь, это поможет вам.
DateTime dt = DateTime.Today; string thisMonth= dt.ToString("MMMM"); Console.WriteLine(thisMonth);
private string MonthName(int m) { string res; switch (m) { case 1: res="Ene"; break; case 2: res = "Feb"; break; case 3: res = "Mar"; break; case 4: res = "Abr"; break; case 5: res = "May"; break; case 6: res = "Jun"; break; case 7: res = "Jul"; break; case 8: res = "Ago"; break; case 9: res = "Sep"; break; case 10: res = "Oct"; break; case 11: res = "Nov"; break; case 12: res = "Dic"; break; default: res = "Nulo"; break; } return res; }