24

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

public static string GetShortDayName(DayOfWeek day)

现在如果我打电话:

string monday = GetShortDayName(DayOfWeek.Monday);

如果文化是 en,我将返回“mo”,如果文化是示例,我将返回“lu”。

4

5 回答 5

57

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

string[] names = culture.DateTimeFormat.AbbreviatedDayNames;
string monday = names[(int) DayOfWeek.Monday];
于 2012-09-21T12:00:31.817 回答
15

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

DateTime.Now.ToString("ddd");

正如@Loudenvier 在评论中所建议的那样。

于 2018-07-10T11:26:16.893 回答
10

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

这将返回一个缩写 - 您可以将结果子串化为 2 个字符。

您将需要使用DateTime与您希望的星期几相对应的日期。

于 2012-09-21T12:00:51.903 回答
4
DateTimeFormatInfo.ShortestDayNames

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

于 2014-10-20T13:06:01.557 回答
1

尝试:

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);
于 2012-09-21T12:01:51.140 回答