2011-05-31 9 views
27

Comment est-ce que je localise un DayOfWeek autre qu'aujourd'hui?
Les travaux suivants bien pour la journée en cours:C# Cultures: Localize DayOfWeek?

DateTime.Now.ToString("dddd", new CultureInfo("it-IT")); 

Mais comment puis-je localiser tous les jours de la semaine ?? Edit: Une solution possible (et probablement très, très fausse) que j'ai imaginée pourrait être de créer des valeurs DateTime pour une semaine entière, puis d'utiliser date.ToString("dddd", new CultureInfo("it-IT")); dessus, mais cela semble incorrect sur tant de niveaux.

Répondre

63

Que diriez-vous

DateTimeFormatInfo.CurrentInfo.GetDayName(dayOfWeek) 

ou

DateTimeFormatInfo.CurrentInfo.GetAbbreviatedDayName(dayOfWeek) 

prend simplement une énumération DayOfWeek et retourne la chaîne qui est le nom dans la culture actuelle.

Edit:

Si vous êtes à la recherche d'une culture spécifique, il serait

var cultureInfo = new CultureInfo("it-IT"); 
var dateTimeInfo = cultureInfo.DateTimeFormat; 

vous pouvez appeler GetDayName ou GetAbbreviatedDayName que vous choisissez.

+0

Il y a même des tableaux AbbreviatedDayNames/DayNames si vous les voulez tous. – MerickOWA

+0

Bonne réponse, merci beaucoup :) – bevacqua