从选定的月历日期获取星期
Posted
技术标签:
【中文标题】从选定的月历日期获取星期【英文标题】:Get week from selected monthcalendar-date 【发布时间】:2012-08-02 08:01:10 【问题描述】:我需要一个解决方案来计算从所选日期开始的周数。 (在月历中) 我试过了:
DateTime dt1 = new DateTime(monthCalendar1.SelectionStart.Year,
monthCalendar1.SelectionStart.Month,
monthCalendar1.SelectionStart.Day);
DateTime dt2 = new DateTime(monthCalendar1.SelectionStart.Year,
1,
1);
System.TimeSpan varTime = dt1 - dt2;
int weeks = (varTime.Days / 7) + 1;
但是一周的开始和结束日期不正确,并且在某些年份我有 53 周? 解决这个问题的最佳方法是什么?
【问题讨论】:
有些年份有 53 周,这不是“设计”造成的错误 【参考方案1】:public int WeekNumber(DateTime date)
CultureInfo ciCurr = CultureInfo.CurrentCulture;
int weekNum = ciCurr.Calendar.GetWeekOfYear(date,
CalendarWeekRule.FirstFourDayWeek,
DayOfWeek.Monday);
return weekNum;
记得将 CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday 更正为您当前的文化,这里的一个用途是丹麦/丹麦
【讨论】:
【参考方案2】:试试日历的GetWeekOfYear函数。查看此处并向下滚动以查看完整示例:http://msdn.microsoft.com/en-us/library/system.globalization.calendar.getweekofyear.aspx
【讨论】:
任何人发布解决方案并再次将其删除。无论如何,我可以抓住剪断。谢谢未知 :) @user1559441:我再次取消删除我的答案 - 只是意识到我实际上并没有回答你所有的问题:-)以上是关于从选定的月历日期获取星期的主要内容,如果未能解决你的问题,请参考以下文章