【发布时间】:2014-04-29 00:54:44
【问题描述】:
我想计算一个月内的周数。
从第一个星期一开始的 2014 年 1 月的第一周是第 6 号。因此,一月有 4 周。 2014 年 3 月的第一周从第一个星期一开始是第三个。所以,3 月有 5 周。
我想知道从第一个星期一算起一个月有多少周,而不是第一天。
我该怎么做?
我有此代码,但它用于获取特定日期的月份周数。
public int GetWeekNumberOfMonth(DateTime date)
{
date = date.Date;
DateTime firstMonthDay = new DateTime(date.Year, date.Month, 1);
DateTime firstMonthMonday = firstMonthDay.AddDays((DayOfWeek.Monday + 7 - firstMonthDay.DayOfWeek) % 7);
if (firstMonthMonday > date)
{
firstMonthDay = firstMonthDay.AddMonths(-1);
firstMonthMonday = firstMonthDay.AddDays((DayOfWeek.Monday + 7 - firstMonthDay.DayOfWeek) % 7);
}
return (date - firstMonthMonday).Days / 7 + 1;
}
【问题讨论】:
-
所以你真的想要给定日历月的星期一数?
-
你有什么代码可以给我们看
-
我只想知道一个月有多少周,但从第一个星期一算起,而不是第一个日期。
-
@Enkhay:在什么情况下这与“每月的星期一数”不同? (至少这是一个更简单的计算概念。)
标签: c#