2011-05-31 13 views
27

¿Cómo localizo un DayOfWeek distinto a hoy?
Los siguientes funciona muy bien para el día actual:C# Cultures: Localize DayOfWeek?

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

Pero cómo puedo localizar todos los días de la semana ??

Editar: Una posible (y, probablemente, muy, muy mal) la solución que se me ocurrió podría ser la creación DateTime valores para toda una semana, y luego usar date.ToString("dddd", new CultureInfo("it-IT")); en ellos, pero que sólo parece mal en muchos niveles.

Respuesta

63

¿Qué tal

DateTimeFormatInfo.CurrentInfo.GetDayName(dayOfWeek) 

o

DateTimeFormatInfo.CurrentInfo.GetAbbreviatedDayName(dayOfWeek) 

simplemente toma una enumeración DayOfWeek y devuelve cadena que es el nombre en la cultura actual.

Editar:

Si usted está buscando una cultura específica sería

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

entonces usted puede llamar GetDayName o GetAbbreviatedDayName como usted elija.

+0

Incluso hay matrices abreviadasDayNames/DayNames si las quiere todas. – MerickOWA

+0

Excelente respuesta, muchas gracias :) – bevacqua

Cuestiones relacionadas