尝试编写一个正确的函数来返回给定年份的周数,但没有成功。
我正在寻找的功能示例:
int weeks = GetWeeksInYear ( 2012 )
应该返回 52 周//意味着 2012 年只有 52 周。
P.s.: 一年内可以是52、53、54周,51周就不一定了
最佳答案
public int GetWeeksInYear(int year)
{
DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo;
DateTime date1 = new DateTime(year, 12, 31);
Calendar cal = dfi.Calendar;
return cal.GetWeekOfYear(date1, dfi.CalendarWeekRule,
dfi.FirstDayOfWeek);
}
请注意找出与客户习惯的文化相匹配的日历的正确 CalendarWeekRule 和 FirstDayOfWeek。 (对于某些压光机,它可能会有所不同...)
关于c# - 如何获取给定年份的周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17391073/