Как я могу определить номер недели определенной даты?

Я пытаюсь сделать календарь с помощью wpf. Используя itemsPanel и другие элементы, я получаю сетку с 7 столбцами (воскресенье-суббота) и 6 строками (номер недели месяца). Если я могу найти начальную позицию первого числа каждого месяца, получив номер дня недели и недели (месяца), как я могу найти номер недели (0-5 каждого месяца)? Тоже нельзя как-то оттуда просто залить календарь? Я потерялся и не знаю, что еще попробовать.

public partial class SchedulePage : Page
{        
    MainWindow _parentForm;
    public int dayofweek;

    public SchedulePage(MainWindow parentForm)
    {
        InitializeComponent();
        _parentForm = parentForm;
        // DateTime date = new DateTime(year, month, day);

        _parentForm.bindings = new BindingCamper();          
        _parentForm.bindings.schedule.Add(new Schedule { WeekNo = (int) getWeekNumber(), WeekDay = dayofweek });
        DataContext = _parentForm.bindings;
        // lblTest.Content = dates(2011, 10, 27);
    }

    public double getWeekNumber()
    {
        dayofweek = getWeekDay(2011, 10, 31);
        double h = dayofweek / 7;
        double g = Math.Floor(h);
        return g;
    }

    public int getWeekDay(int year, int month, int day)
    {
        //year = 2011;
        //month = 10;
        //day = 27;
        int[] t = { 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 };
        // year -= month < 3;
        return (year + year / 4 - year / 100 + year / 400 + t[month - 1] + day) % 7;
    }
12
задан LPL 27 October 2011 в 16:51
поделиться