Come si fa a trovare il nome del mese in C #? Non voglio scrivere una switchdichiarazione enorme o una ifdichiarazione sul mese int. In VB.Net puoi usare MonthName(), ma per quanto riguarda C #?
Come si fa a trovare il nome del mese in C #? Non voglio scrivere una switchdichiarazione enorme o una ifdichiarazione sul mese int. In VB.Net puoi usare MonthName(), ma per quanto riguarda C #?
Risposte:
Puoi usare CultureInfo per ottenere il nome del mese. Puoi persino ottenere il nome breve del mese e altre cose divertenti.
Ti suggerisco di inserirli in metodi di estensione, che ti consentiranno di scrivere meno codice in seguito. Tuttavia puoi implementare come preferisci.
Ecco un esempio di come farlo utilizzando i metodi di estensione:
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);
}
}
Spero che questo ti aiuti!
InvariantInfoproprietà che può essere utilizzata. E, a mio parere, il seguente è un formato più semplice / leggibile per farlo: DateTimeFormatInfo.InvariantInfo.GetAbbreviatedMonthName(...)oDateTimeFormatInfo.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;
}