从当前日期获取星期几并指定星期的第一天

时间:2017-06-06 11:55:25

标签: c# visual-studio-2008 vb6 .net-3.5 dayofweek

我正在将旧版VB6项目迁移到C#。

我想从下面的表达式中获取C#中的等价物:

Weekday(Date, vbMonday)

我知道C#中有一个函数:

int dayOfWeek = (int)DateTime.Today.DayOfWeek;

但是如何指定一周的第一天是星期一,然后函数DayOfWeek将其考虑在内并返回正确的值?

我需要获取一个int值。

2 个答案:

答案 0 :(得分:2)

您可以致电CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek来获取一周的第一天,但​​我认为您可以不这样做。

Weekday函数在星期一返回1,就像DayOfWeek一样。唯一的特例是Sunday,.NET返回0,而VB返回7.

做数学:

int dayOfWeek = DateTime.Today.DayOfWeek == DayOfWeek.Sunday
                 ? 7
                 : (int)DateTime.Today.DayOfWeek;

答案 1 :(得分:0)

DateTime dateValue = new DateTime(2008, 6, 11);



Console.WriteLine((int) dateValue.DayOfWeek);

//该示例显示以下输出: // 3

Console.WriteLine(dateValue.ToString("dddd"));

//该示例显示以下输出:  //星期三

Console.WriteLine(dateValue.ToString("dddd"));

//该示例显示以下输出: //星期三