Помогите пояснить задачу. Календарь. Определить порядковый номер дня по заданной дате. Ограничения: високосные годы это те, у которых число делится на 400 и 4, но не делится на 100. Пояснить метод решения задачи.


Option Explicit
Dim D1 As Date '1 января N-года
Dim D2 As Date 'искомый день этого же года


Private Sub cmd_Click()
'считываем переменные
D1 = CDate(txt1.Text)
D2 = CDate(txt2.Text)

'вывод значений
lblDate1.Caption = "Дата: " + Str(D1)
lblDate2.Caption = "Дата: " + Str(D2)

lblYear.Caption = "Год: " + Str(Year(D1))
lblMonth.Caption = "Месяц: " + Str(Month(D1))
lblDay.Caption = "Число: " + Str(Day(D1))
lblWeekDay.Caption = "День недели: " + Str(Weekday(D1, vbMonday))

lblDelta.Caption = Str(D2 - D1)
End Sub

Private Sub Form_Load()
'определяем текущую дату
txt2.Text = Date$
End Sub