DayOfWeek

int a  =(int)oneDate.DayOfWeek;  返回的直接就是 1,2,3,4,5,6,  星期日返回的是0

转载于:https://www.cnblogs.com/heifengwll/p/3517072.html

### C# 中 `DayOfWeek` 属性的访问与使用 在 C# 中,`DateTime.DayOfWeek` 是一个非常有用的属性,用于获取给定日期对应的星期几。此属性返回的是枚举类型 `DayOfWeek` 的成员之一。 对于访问和使用 `DayOfWeek` 可能遇到的问题,通常涉及以下几个方面: #### 错误处理不当 如果尝试通过字符串或其他非标准方式来设置或比较 `DayOfWeek` 值,则可能会引发错误。应当始终利用内置的枚举值来进行操作[^1]。 ```csharp // 正确的做法是直接使用 DayOfWeek 枚举值进行比较 if (dateToCheck.DayOfWeek == DayOfWeek.Monday) { Console.WriteLine("这是周一"); } ``` #### 文化差异影响显示 不同地区对一周起始日有不同的定义,在某些文化背景下周一是每周的第一天而在其他地方可能是周日。当格式化输出时需要注意这一点。 ```csharp string formattedDate = dateToCheck.ToString("dddd", CultureInfo.CreateSpecificCulture("en-US")); Console.WriteLine(formattedDate); ``` #### 时间戳转换失误 有时开发者会试图从时间戳计算出具体的某一天属于哪一天,这时如果不小心处理好 UTC 和本地时间之间的关系就容易出现问题。应该先将 Unix 时间戳正确转成 `DateTime` 对象再调用 `.DayOfWeek` 方法。 ```csharp long unixTimestamp = 1691721600L; // 示例 Unix 时间戳 DateTime dateTimeUtc = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(unixTimestamp); DateTime localTime = dateTimeUtc.ToLocalTime(); DayOfWeek dayOfWeekFromUnix = localTime.DayOfWeek; Console.WriteLine($"该时间戳对应于 {dayOfWeekFromUnix}"); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值