在 C# 中获取当天是星期几,你可以使用 DateTime.Now
或 DateTime.Today
来获取当前日期,然后访问其 DayOfWeek
属性。这个属性返回一个 System.DayOfWeek
枚举值。
DayOfWeek
枚举的值如下:
Sunday
(0)Monday
(1)Tuesday
(2)Wednesday
(3)Thursday
(4)Friday
(5)Saturday
(6)
以下是几种获取和显示当天星期几的方法:
方法一:获取 DayOfWeek 枚举值
这是最基础的方法,直接获取枚举值。
using System;
public class GetDayOfWeek
{
public static void Main(string[] args)
{
// 获取当前本地日期和时间
DateTime now = DateTime.Now;
// 获取 DayOfWeek 枚举值
DayOfWeek today = now.DayOfWeek;
// 输出枚举值(默认是英文名称)
Console.WriteLine($"今天是:{today}"); // 例如:Tuesday
// 你也可以获取对应的整数值 (星期日是 0)
Console.WriteLine($"今天是星期(数字表示):{(int)today}"); // 例如:2 (因为今天是星期二)
// 如果你只需要当天日期,不关心时间,可以用 DateTime.Today
DayOfWeek todayDateOnly = DateTime.Today.DayOfWeek;
Console.WriteLine($"今天 (仅日期) 是:{todayDateOnly}"); // 效果通常一样
}
}
方法二:获取本地化的星期几名称 (例如:中文)
如果你想显示中文的“星期几”,可以使用 DateTime.ToString()
方法并指定区域性信息 (CultureInfo
)。
using System;
using System.Globalization; // 需要引入 System.Globalization 命名空间
public class GetLocalizedDayOfWeek
{
public static void Main(string[] args)
{
DateTime now = DateTime.Now;
// 创建中文(中国)的区域性信息对象
CultureInfo chineseCulture = new CultureInfo("zh-CN");
// 使用 "dddd" 格式说明符获取完整的星期几名称
string todayChineseLong = now.ToString("dddd", chineseCulture);
Console.WriteLine($"今天是:{todayChineseLong}"); // 输出:星期二
// 使用 "ddd" 格式说明符获取缩写的星期几名称
string todayChineseShort = now.ToString("ddd", chineseCulture);
Console.WriteLine($"今天是:{todayChineseShort}"); // 输出:周二
// 获取英文名称(默认或指定 "en-US")
string todayEnglish = now.ToString("dddd", CultureInfo.InvariantCulture); // 或者 new CultureInfo("en-US")
Console.WriteLine($"Today is: {todayEnglish}"); // 输出:Tuesday
}
}
总结:
- 要获取
DayOfWeek
枚举值:DayOfWeek today = DateTime.Now.DayOfWeek;
- 要获取当前区域性设置下的星期几名称:
string dayName = DateTime.Now.ToString("dddd");
(结果取决于系统设置) - 要获取特定语言(如中文)的星期几名称:
string dayNameZh = DateTime.Now.ToString("dddd", new CultureInfo("zh-CN"));
选择哪种方法取决于你的具体需求:是需要枚举值进行逻辑判断,还是需要本地化的字符串用于显示。