Come si fa a trovare il nome del mese in C#? Non voglio scrivere un'enorme affermazione switch
o una dichiarazione if
nel mese int
. In VB.Net è possibile utilizzare MonthName()
, ma che dire di C#?Come ottenere il nome del mese in C#?
risposta
È possibile utilizzare il CultureInfo per ottenere il nome del mese. Puoi anche ottenere il nome del mese breve e altre cose divertenti.
Vorrei suggerire di inserire questi in metodi di estensione, che ti permetteranno di scrivere meno codice in seguito. Tuttavia puoi implementare come preferisci.
Ecco un esempio di come farlo utilizzando 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 aiuti!
Potrei aggiungere che esiste una proprietà 'InvariantInfo' che può essere utilizzata pure. E, a mio parere, il seguente è un formato più semplice/leggibile per fare ciò: 'DateTimeFormatInfo.InvariantInfo.GetAbbreviatedMonthName (...)' o 'DateTimeFormatInfo.CurrentInfo.GetAbbreviatedMonthName (...)' – bsara
Utilizzare il formato "MMMM" identificatore:
string month = dateTime.ToString("MMMM");
assumendo che tu abbia una data. in caso contrario: 'var month = new DateTime (1, i, 1) .ToString (" MMMM ");' – Myster
string CurrentMonth = String.Format("{0:MMMM}", DateTime.Now)
Non è necessario il ToString(). –
Oppure String.Format, in realtà. Just DateTime.Now.ToString ("MMMM") è più semplice. –
Avrei suggerito anche quello, ma l'hai già avuto come un'altra risposta. Il metodo di Gortok dimostra anche l'uso di segnaposti per fare la formattazione, quindi penso che sia un buon esempio alternativo. –
Se si desidera utilizzare MonthName quindi fare riferimento a Microsoft.VisualBasic ed è in Microsoft.VisualBasic.DateAndTime
//eg. Get January
String monthName = Microsoft.VisualBasic.DateAndTime.MonthName(1);
Supponendo la data di oggi. Spero che questo ti aiuti.
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;
}
Questo non risponde alla domanda dell'OP, perché hanno detto: "Io davvero ** non ** voglio scrivere un'enorme dichiarazione di commutazione [...]" (enfasi mia). Si prega di leggere le domande in dettaglio prima di scrivere una risposta. – honk
- 1. (Django) come ottenere il nome del mese?
- 2. Come posso ottenere il nome mese di mese numero
- 3. Ottenere il nome del mese nominativo in jodaTime
- 4. Ottieni il numero del mese dal nome del mese
- 5. iphone come posso ottenere il nome del mese dal numero del mese?
- 6. Come ottenere il nome del mese inglese dal calendario ebraico in C#
- 7. Come posso ottenere il numero del mese (non il nome del mese) da una data in SQL Server?
- 8. Come ottenere il giorno del mese?
- 9. Come ottenere l'ultima data del mese selezionato in C# .net?
- 10. Come posso ottenere l'ultimo giorno del mese in C#?
- 11. Data con il nome Mese Objective-C
- 12. Conversione del nome del mese in intero
- 13. Come convertire il numero del mese nel nome del mese completo in oracle?
- 14. Come ottenere il nome del processo in C++
- 15. Come posso ottenere il nome del computer locale in C#?
- 16. Ottieni il nome completo del mese in inglese
- 17. Nome di questo mese (Date.today.month come nome)
- 18. Come ottenere il primo giorno del mese corrente in PHP?
- 19. Come ottenere il timestamp del mese corrente, il primo giorno del mese, l'ora zero
- 20. Come analizzare il nome del mese unicode per ottenere datetime in Python 2.7
- 21. Come ottenere il nome del mese dalla colonna datetime in Linq a SQL?
- 22. Converti numero di mese in mese in nome breve
- 23. Ottieni il nome del mese dal numero in PostgreSQL
- 24. Ottieni il nome del mese dal numero di due cifre del mese
- 25. Come ottenere il nome utente in C/C++ in Linux?
- 26. Come ottenere l'ultimo giorno del mese
- 27. Convertire il nome del mese in numero di mese in SQL Server
- 28. Ottenere il nome del prodotto dal file msi in C#
- 29. DateTime Converti da int a Mese Nome in C#, Silverlight
- 30. Come ottenere nomi brevi per il mese in Joda Time?
Possibile duplicato del [Modo migliore per trasformare un intero in nome di un mese in C#?] (Http://stackoverflow.com/questions/218908/best-way-to-turn-an- intero-in-un-mese-nome-in-c) – bluish