DateTime.Now.DayOfWeek.ToString () con CultureInfo

Ho il codice:

DateTime.Now.DayOfWeek.ToString() 

Questo mi dà il nome del giorno della settimana inglese, voglio avere la versione tedesca, come aggiungere CultureInfo qui per ottenere il nome del giorno della settimana in tedesco?

 var culture = new System.Globalization.CultureInfo("de-DE"); var day = culture.DateTimeFormat.GetDayName(DateTime.Today.DayOfWeek); 

Puoi utilizzare la proprietà DateTimeFormat.DayNames del CultureInfo tedesco. Per esempio:

 CultureInfo german = new CultureInfo("de-DE"); string sunday = german.DateTimeFormat.DayNames[(int)DayOfWeek.Sunday]; 

Questa è la soluzione in Visual Basic

 Dim GermanCultureInfo As Globalization.CultureInfo = New Globalization.CultureInfo("de-DE") Return GermanCultureInfo.DateTimeFormat.GetDayName(DayOfWeek.Sunday) 

La funzione della soluzione è Obsoleta in base a DateTime.Now.ToString("dddd", new System.Globalization.CultureInfo("de-DE"))

DayOfWeek è un’enumerazione, quindi il metodo ToString su di esso non è sensibile alla cultura.

Dovrai scrivere una funzione per convertire il valore Enum in una stringa corrispondente in tedesco, se insisti a utilizzare DayOfWeek :

 string DayOfWeekGerman(DayOfWeek dow) { switch(dow) { case(DayOfWeek.Sunday) return "German Sunday"; case(DayOfWeek.Monday) return "German Monday"; ... } } 

Un approccio migliore consiste nell’utilizzare direttamente ToString da DateTime :

 CultureInfo german = new CultureInfo("de-DE"); string dayName = DateTime.Now.ToString("dddd", german); 

Mi piace questo:

 public static class DateTimeExtension { public static string GetDayOfWeek(this DateTime uiDateTime, CultureInfo culture = null) { if (culture == null) { culture = Thread.CurrentThread.CurrentUICulture; } return culture.DateTimeFormat.GetDayName(uiDateTime.DayOfWeek); } } 

E in base alla tua domanda:

 var culture = new System.Globalization.CultureInfo("de-DE"); var day = uiDateTime.GetDayOfWeek(culture); 

Ciao puoi usare questo codice per restituire il tuo nome del giorno come la stessa lingua

 CultureInfo myCI = new CultureInfo("ar-EG"); MessageBox.Show(myCI.DateTimeFormat.GetDayName(DayOfWeek.Friday)); 

inserisci la descrizione dell'immagine qui nota: DateTime restituisce DayOfWeek DayOfWeek in modo da utilizzare il codice per tornare da un’altra enumerazione