Como encontrar o nome do mês em C #? Não quero escrever uma grande switch
declaração ou if
declaração sobre o mês int
. Em VB.Net você pode usar MonthName()
, mas e o C #?
Como encontrar o nome do mês em C #? Não quero escrever uma grande switch
declaração ou if
declaração sobre o mês int
. Em VB.Net você pode usar MonthName()
, mas e o C #?
Respostas:
Você pode usar o CultureInfo para obter o nome do mês. Você pode até obter o nome do mês curto, bem como outras coisas divertidas.
Eu sugiro que você os coloque em métodos de extensão, o que permitirá que você escreva menos código posteriormente. No entanto, você pode implementar como quiser.
Aqui está um exemplo de como fazer isso usando métodos de extensão:
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);
}
}
Espero que isto ajude!
InvariantInfo
propriedade que também pode ser usada. E, na minha opinião, o seguinte é um formato mais simples / legível para fazer isso: DateTimeFormatInfo.InvariantInfo.GetAbbreviatedMonthName(...)
orDateTimeFormatInfo.CurrentInfo.GetAbbreviatedMonthName(...)
string CurrentMonth = String.Format("{0:MMMM}", DateTime.Now)
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;
}