Member 12793452 Ответов: 1

Как считать пятницу между двумя датами в форме vb6


В моей форме vb6 у меня есть 2 DTPicker. Теперь я хочу посчитать пятницу между этими двумя датами в форме vb6

Что я уже пробовал:

Я стараюсь считать, что исключаю пятницу следующим образом. Произошла ошибка несоответствия типов.

Dim iDay As Long, i As Long, iWeekdays As Long

Date1 = f(DTPicker2.value)
Date2 = f(DTPicker6.value)
' loop through each date and check day
For i = 0 To DateDiff("d", Date1, Date2)
    iDay = Weekday(Date1 + i, vbSaturday)
    If iDay < 6 Then
        ' not Saturday or Sunday
        iWeekdays = iWeekdays + 1
    End If
Next i
Text3.Text = iWeekdays

Garth J Lancaster

каково значение iDay для пятницы .. вам просто не нужно

если iDay = = (значение пятницы)
iFridays += 1;
Конец, Если

???

Maciej Los

ОП хочет исключить пятницы ;)

Garth J Lancaster

Конечно , я понимаю, что вы сделали , но у него есть "граф пятница" х 2 и "граф исключить пятницу" :-(

1 Ответов

Рейтинг:
0

Maciej Los

Ваша логика ошибочна!

If iDay < 6 Then


Проверить это:
If iDay <> 6 Then


Для получения более подробной информации, пожалуйста, смотрите: Функция Буднего Дня (Visual Basic)[^]

Я бы изменил ваш код на:
For aDay = Date1 To Date2
    If WeekDay(aDay) <> 6 Then
        iDays = iDays + 1
    End If
Next aDay

Где aDay переменная - это тип Date и iDays это тип Integer.