如何确定约会的周数?我正在尝试使用wpf制作日历。通过使用itemsPanel等,我有一个包含7列(周六-周六)和6行(周#月)的网格。如果我可以通过获取工作日和周数(月)找到一个月的第一天,我如何找到周数(每个月0-5)?我也无法以某种方式从那里填写日历?我迷路了,我不知道还能尝试什么。publicpartialclassSchedulePage:Page{MainWindow_parentForm;公共int星期几;publicSc??hedulePage(MainWindowparentForm){InitializeComponent();_parentForm=父表单;//DateTimedate=newDateTime(year,month,day);();_parentForm.bindings.schedule.Add(newSchedule{WeekNo=(int)getWeekNumber(),WeekDay=dayofweek});DataContext=_parentForm.bindings;//lblTest.Content=dates(2011,10,27);}publicdoublegetWeekNumber(){dayofweek=getWeekDay(2011,10,31);双h=星期几/7;双g=Math.Floor(h);返回g;}publicintgetWeekDay(intyear,intmonth,intday){//year=2011;//月=10;//天=27;int[]t={0,3,2,5,0,3,5,1,4,6,2,4};//年-=月<3;return(year+year/4-year/100+year/400+t[month-1]+day)%7;您必须使用Calendar.GetDayOfWeek和Calendar.GetWeekOfYear,而不是自己编写。您可以保证,如果您自己编写任何日期/时间处理代码,它将包含错误并且无法在不同的语言环境中工作。publicclassRow{publicstringMonthWeek{get;放;}publicstringYear{get;放;}publicstringMonth{get;放;}publicstringDay{get;放;}publicstringWeekOfYear{得到;放;}}publicpartialclassMainWindow:Window{publicMainWindow(){InitializeComponent();varl=new列表();日期时间startDate=DateTime.Now;DateTimed=newDateTime(startDate.Year,startDate.Month,1);varcal=System.Globalization.DateTimeFormatInfo.CurrentInfo.Calendar;varms=cal.GetWeekOfYear(newDateTime(d.Year,d.Month,1),System.Globalization.CalendarWeekRule.FirstDay,System.DayOfWeek.Sunday);对于(vari=1;d.Month==startDate.Month;d=d.AddDays(1)){varsi=newRow();varmonth_week=(d.Day/7)+1;si.MonthWeek=month_week.ToString();si.Month=d.Year.ToString();si.Year=d.Month.ToString();si.Day=d.Day.ToString();si.WeekOfYear=cal.GetWeekOfYear(d,System.Globalization.CalendarWeekRule.FirstDay,DayOfWeek.Sunday).To细绳();l.添加(si);}dataGrid1.ItemsSource=l;连同XAML中的强制性DataGrid:您可以使用Globalization中的Calendar.GetWeekOfYear来执行此操作这是它的MSDN文档:http://msdn.microsoft.com/en-us/library/system.globalization.calendar.getweekofyear.aspx您应该将CultureInfo.CurrentCulture的适当文化属性传递给GetWeekOfYear,以便正确匹配当前文化。示例:intGetWeekOfYear(DateTimedate){returnCalendar.GetWeekOfYear(date,CultureInfo.CurrentCulture.DateTimeFormat.CalendarWeekRule,CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek);您可以轻松地将其修改为DateTime的扩展方法:C#学习教程:如何确定某个日期的周数?分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注~staticintGetWeekOfYear(thisDateTimedate){returnCalendar.GetWeekOfYear(date,CultureInfo.CurrentCulture.DateTimeFormat.CalendarWeekRule,CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek);}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
