从当前日期获取星期几并指定星期几
Get day of week from current date and specifying first day of week
我正在将遗留的 VB6 项目迁移到 C#。
我想从下面的表达式中获得 C# 中的等价物:
Weekday(Date, vbMonday)
我知道 C# 中有一个函数:
int dayOfWeek = (int)DateTime.Today.DayOfWeek;
但是如何指定一周的第一天是星期一然后函数 DayOfWeek 将其考虑在内并且 return 正确的值?
我需要获取一个int值。
您可以通过调用 CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek
来获取一周的第一天,但我认为您可以不用它。
Weekday
函数 returns 1 表示星期一,就像 DayOfWeek
一样。唯一的特例是星期日,其中 .NET returns 为 0
,而 VB returns 7.
算一下:
int dayOfWeek = DateTime.Today.DayOfWeek == DayOfWeek.Sunday
? 7
: (int)DateTime.Today.DayOfWeek;
DateTime dateValue = new DateTime(2008, 6, 11);
Console.WriteLine((int) dateValue.DayOfWeek);
// 该示例显示以下输出:
// 3
Console.WriteLine(dateValue.ToString("dddd"));
// 该示例显示以下输出:
// 星期三
Console.WriteLine(dateValue.ToString("dddd"));
// 该示例显示以下输出:
// 星期三
我正在将遗留的 VB6 项目迁移到 C#。
我想从下面的表达式中获得 C# 中的等价物:
Weekday(Date, vbMonday)
我知道 C# 中有一个函数:
int dayOfWeek = (int)DateTime.Today.DayOfWeek;
但是如何指定一周的第一天是星期一然后函数 DayOfWeek 将其考虑在内并且 return 正确的值?
我需要获取一个int值。
您可以通过调用 CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek
来获取一周的第一天,但我认为您可以不用它。
Weekday
函数 returns 1 表示星期一,就像 DayOfWeek
一样。唯一的特例是星期日,其中 .NET returns 为 0
,而 VB returns 7.
算一下:
int dayOfWeek = DateTime.Today.DayOfWeek == DayOfWeek.Sunday
? 7
: (int)DateTime.Today.DayOfWeek;
DateTime dateValue = new DateTime(2008, 6, 11);
Console.WriteLine((int) dateValue.DayOfWeek);
// 该示例显示以下输出: // 3
Console.WriteLine(dateValue.ToString("dddd"));
// 该示例显示以下输出: // 星期三
Console.WriteLine(dateValue.ToString("dddd"));
// 该示例显示以下输出: // 星期三