web-dev-qa-db-fra.com

Comment obtenir le nom complet du mois à partir de DateTime

Quelle est la bonne façon d'obtenir le nom complet du mois d'un objet DateTime?
par exemple. January, December.

J'utilise actuellement:

DateTime.Now.ToString("MMMMMMMMMMMMM");

Je sais que ce n'est pas la bonne façon de le faire.

157
user728885

Utilisez le spécificateur de format personnalisé "MMMM" :

DateTime.Now.ToString("MMMM");
254
mservidio

Vous pouvez faire comme mservidio est suggéré , ou mieux encore, gardez une trace de votre culture en utilisant cette surcharge:

DateTime.Now.ToString("MMMM", CultureInfo.InvariantCulture);
78
emp

Si vous voulez le mois en cours, vous pouvez utiliser DateTime.Now.ToString("MMMM") pour obtenir le mois complet ou DateTime.Now.ToString("MMM") pour obtenir un mois abrégé.

Si vous souhaitez obtenir la chaîne de mois pour une autre date, une fois celle-ci chargée dans un objet DateTime, vous pouvez utiliser les mêmes fonctions pour cet objet:
dt.ToString("MMMM") pour obtenir le mois complet ou dt.ToString("MMM") pour obtenir un mois abrégé.

Référence: Chaînes de format de date et heure personnalisées

Si vous avez besoin de noms de mois spécifiques à une culture, vous pouvez également essayer ces méthodes: méthode DateTimeFormatInfo.GetAbbreviatedMonthName
Méthode DateTimeFormatInfo.GetMonthName

37
Jeffrey Blake

Ses

DateTime.Now.ToString("MMMM");

Avec 4 Ms.

14
Alex Turpin

Vous pouvez utiliser Culture pour obtenir le nom du mois de votre pays, par exemple:

System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("ar-EG");
string FormatDate = DateTime.Now.ToString("dddd., MMM dd yyyy, hh:MM tt", culture);
13
Yehia

Cela devrait être juste DateTime.ToString( "MMMM" )

Vous n'avez pas besoin de tous les extra Ms.

11
Stefan H

Si vous recevez "MMMM" en réponse, vous obtenez probablement le mois, puis vous le convertissez en une chaîne de format défini.

DateTime.Now.Month.ToString("MMMM") 

affichera "MMMM"

DateTime.Now.ToString("MMMM") 

affichera le nom du mois

7
DateTime birthDate = new DateTime(1981, 8, 9);
Console.WriteLine ("I was born on the {0}. of {1}, {2}.", birthDate.Day, birthDate.ToString("MMMM"), birthDate.Year);

/* The above code will say:
"I was born on the 9. of august, 1981."

"dd" converts to the day (01 thru 31).
"ddd" converts to 3-letter name of day (e.g. mon).
"dddd" converts to full name of day (e.g. monday).
"MMM" converts to 3-letter name of month (e.g. aug).
"MMMM" converts to full name of month (e.g. august).
"yyyy" converts to year.
*/
6
Madolite