C# 从选定的monthcalendar日期获取星期

C# 从选定的monthcalendar日期获取星期,c#,week-number,monthcalendar,C#,Week Number,Monthcalendar,我需要一个解决方案来计算从选定日期算起的一周。(蒙特卡伦达) 我试过: 但是一周的开始和结束日期都不正确,有些年我有53周? 解决这个问题的最好办法是什么 public int WeekNumber(DateTime date) { CultureInfo ciCurr = CultureInfo.CurrentCulture; int weekNum = ciCurr.Calendar.GetWeekOfYear(date,

我需要一个解决方案来计算从选定日期算起的一周。(蒙特卡伦达)
我试过:

但是一周的开始和结束日期都不正确,有些年我有53周?
解决这个问题的最好办法是什么

public int WeekNumber(DateTime date)
{
    CultureInfo ciCurr = CultureInfo.CurrentCulture;
    int weekNum = ciCurr.Calendar.GetWeekOfYear(date,
                                          CalendarWeekRule.FirstFourDayWeek,
                                          DayOfWeek.Monday);
    return weekNum;
}
请记住更正CalendarWeekRule.FirstFourDayWeek、DayOfWeek。对于您当前的文化,这里使用的是丹麦/丹麦


请记住更正CalendarWeekRule.FirstFourDayWeek,DayOfWeek.Monday对于您当前的文化,这里的一个用法是针对丹麦/丹麦的

尝试calendar的GetWeekOfYear功能。查看此处并向下滚动查看完整示例:

尝试日历的GetWeekOfYear功能。查看此处并向下滚动查看完整示例:

有些年份有53周,这不是“设计”造成的错误有些年份有53周,这不是“设计”造成的错误任何人发布解决方案并再次删除它。不管怎样,我可以抓住被剪断的头发。谢谢未知:)@user1559441:我再次取消删除了我的答案-刚刚意识到我并不是真的回答了你所有的问题:-)有人发布了解决方案并再次删除了它。不管怎样,我可以抓住被剪断的头发。谢谢未知:)@user1559441:我再次取消删除我的答案-刚刚意识到我并没有真正回答你所有的问题:-)
public int WeekNumber(DateTime date)
{
    CultureInfo ciCurr = CultureInfo.CurrentCulture;
    int weekNum = ciCurr.Calendar.GetWeekOfYear(date,
                                          CalendarWeekRule.FirstFourDayWeek,
                                          DayOfWeek.Monday);
    return weekNum;
}