Je me demandais comment écrire une méthode qui me renverrait une chaîne qui contiendrait le nom du jour court, exemple:
public static string GetShortDayName(DayOfWeek day)
maintenant si j'appelle:
string monday = GetShortDayName(DayOfWeek.Monday);
Je reviendrai "mo" si la culture est en, ou "lu" si la culture en est un exemple.
Vous pouvez utiliser DateTimeFormatInfo.AbbreviatedDayNames
. Par exemple:
string[] names = culture.DateTimeFormat.AbbreviatedDayNames;
string monday = names[(int) DayOfWeek.Monday];
Le plus proche que vous pouvez obtenir est d'utiliser une chaîne de format de date et d'heure personnalisée - spécifiquement ddd
.
Cela renverra une abréviation - vous pouvez sous-chaîne le résultat pour obtenir 2 caractères.
Vous devrez utiliser un DateTime
avec un jour correspondant au jour de la semaine que vous souhaitez.
DateTimeFormatInfo.ShortestDayNames
Obtient ou définit un tableau de chaînes des noms de jours abrégés uniques les plus courts associés à l'objet DateTimeFormatInfo actuel.
Vous pouvez utiliser "ddd" dans un chaîne de format personnalisé pour obtenir le nom du jour court. Par exemple.
DateTime.Now.ToString("ddd");
Comme le suggère @Loudenvier dans les commentaires.
essayer:
CultureInfo english = new CultureInfo("en-US");
string sunday = (english.DateTimeFormat.DayNames[(int)DayOfWeek.Sunday]).Substring(0, 2);
Ou:
dateTimeFormats = new CultureInfo("en-US").DateTimeFormat;
string sunday = (dateValue.ToString("dddd", dateTimeFormats)).Substring(0, 2);