我正在将旧版 VB6 项目迁移到 C# 中。
我想从下面的表达式中获得 C# 中的等效值:
Weekday(Date, vbMonday)
我知道C#中有一个函数:
int dayOfWeek = (int)DateTime.Today.DayOfWeek;
但是如何指定一周的第一天是星期一,然后函数 DayOfWeek 将其考虑在内并返回正确的值?
我需要获取一个int值。
最佳答案
您可以通过调用CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek
来获取一周的第一天,但我认为您可以不这样做。
Weekday
函数返回 1 表示星期一,就像 DayOfWeek
一样。唯一的特殊情况是星期日,.NET 返回 0
,而 VB 返回 7。
算一下:
int dayOfWeek = DateTime.Today.DayOfWeek == DayOfWeek.Sunday
? 7
: (int)DateTime.Today.DayOfWeek;
关于c# - 从当前日期获取星期几并指定星期几,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44389372/