获得短暂的名字

我想知道如何编写一个方法,它将返回一个包含短日期名称的字符串,例如:

public static string GetShortDayName(DayOfWeek day) 

现在,如果我打电话:

  string monday = GetShortDayName(DayOfWeek.Monday); 

如果文化是en,我会回到“mo”,如果文化是例如,我会回到“lu”。

您可以使用DateTimeFormatInfo.AbbreviatedDayNames 。 例如:

 string[] names = culture.DateTimeFormat.AbbreviatedDayNames; string monday = names[(int) DayOfWeek.Monday]; 

您可以获得的最接近的是使用自定义日期和时间格式字符串 – 特别是ddd

这将返回一个缩写 – 您可以将结果子串到2个字符。

您需要使用DateTime ,其日期对应于您希望的星期几。

 DateTimeFormatInfo.ShortestDayNames 

获取或设置与当前DateTimeFormatInfo对象关联的最短唯一缩写日期名称的字符串数组。

尝试:

 CultureInfo english = new CultureInfo("en-US"); string sunday = (english.DateTimeFormat.DayNames[(int)DayOfWeek.Sunday]).Substring(0, 2); 

要么:

 dateTimeFormats = new CultureInfo("en-US").DateTimeFormat; string sunday = (dateValue.ToString("dddd", dateTimeFormats)).Substring(0, 2); 

您可以在自定义格式字符串中使用“ddd”来获取短日期名称。 例如。

 DateTime.Now.ToString("ddd"); 

由@Loudenvier在评论中提出建议。