C#获取日期对应的星期方法汇总

C#中,可以通过多种方法来根据日期获取今天是星期几。以下是几种常见且合适的实现方式:

1. 使用 DateTime.DayOfWeek 属性

通过 DateTime.DayOfWeek 属性可以直接获取指定日期的星期信息。此属性返回一个 DayOfWeek 枚举值,表示从 SundaySaturday 的星期值。

DateTime date = new DateTime(2023, 11, 5);
DayOfWeek dayOfWeek = date.DayOfWeek;
Console.WriteLine("今天是: " + dayOfWeek);

2. 自定义函数转换星期格式

有时需要输出为中文格式或自定义的星期表示。可以将 DayOfWeek 转换为中文或其他格式。

public static string GetChineseWeekday(DateTime date)
{
    string[] chineseWeekdays = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
    return chineseWeekdays[(int)date.DayOfWeek];
}

Console.WriteLine(GetChineseWeekday(DateTime.Now));

3. 使用 Switch 表达式实现

在较新的 C# 版本中,可以使用 switch 表达式 实现更简洁的星期转换。

public static string GetDayOfWeekName(DateTime date) => date.DayOfWeek switch
{
    DayOfWeek.Sunday => "星期日",
    DayOfWeek.Monday => "星期一",
    DayOfWeek.Tuesday => "星期二",
    DayOfWeek.Wednesday => "星期三",
    DayOfWeek.Thursday => "星期四",
    DayOfWeek.Friday => "星期五",
    DayOfWeek.Saturday => "星期六",
    _ => throw new ArgumentOutOfRangeException()
};

Console.WriteLine(GetDayOfWeekName(DateTime.Now));

通过以上方法,可以方便地在C#中根据日期确定今天是星期几。

txt 文件大小:9.79KB