获得短暂的名字

时间:2012-09-21 11:56:29

标签: c# datetime-format

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

    public static string GetShortDayName(DayOfWeek day)

现在如果我打电话:

        string monday = GetShortDayName(DayOfWeek.Monday);

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

5 个答案:

答案 0 :(得分:47)

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

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

答案 1 :(得分:10)

您最接近的是使用custom date and time format string - 具体为ddd

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

您需要使用DateTime,其中包含与您希望的星期相对应的日期。

答案 2 :(得分:4)

DateTimeFormatInfo.ShortestDayNames

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

答案 3 :(得分:2)

您可以在custom format string中使用“ ddd”来获取短日名称。例如。

DateTime.Now.ToString("ddd");

@Loudenvier在评论中建议。

答案 4 :(得分: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);