Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Прибавить дни без учета выходных / 4 сообщений из 4, страница 1 из 1
08.11.2007, 14:43
    #34925255
andron123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прибавить дни без учета выходных
Доброго времени суток!

Язык VBScript.
Надо прибавить к задаваемой дате (например сегодняшней) задаваемое кол-во дней, таким образом, чтобы не уыитывались выходные дни, а только рабочие.
Пишу код вида

MyNewDate=DatePlusWorkDays(Now(), 12)

Function DatePlusWorkDays(dDateFrom, nWorkDays)
DatePlusWorkDays = dDateFrom
For iTemp = 1 To nWorkDays
If Weekday(DatePlusWorkDays + 1) <> 1 And Weekday(DatePlusWorkDays + 1) <> 7 Then
DatePlusWorkDays = DatePlusWorkDays + 1
End If
Next
End Function

Мой вариант работает только до первых выходных, потом счетчик сбивается.
Проблема не в том, что не могу код написать, проблема что не могу алгоритм составить для дней недели, хотя вроде бы такая простая задача ...

Спасибо
...
Рейтинг: 0 / 0
08.11.2007, 15:03
    #34925347
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прибавить дни без учета выходных
Private Sub Form_Load()
MsgBox DateDiffW(Date, CDate("01/12/2007")), , "Верну число рабочих дней, оставшихся до 1 декабря"
End Sub

Function DateDiffW(BegDate, EndDate)
Const SUNDAY = 1
Const SATURDAY = 7
Dim NumWeeks As Integer

If BegDate > EndDate Then
DateDiffW = 0
Else
Select Case Weekday(BegDate)
Case SUNDAY: BegDate = BegDate + 1
Case SATURDAY: BegDate = BegDate + 2
End Select
Select Case Weekday(EndDate)
Case SUNDAY: EndDate = EndDate - 2
Case SATURDAY: EndDate = EndDate - 1
End Select
NumWeeks = DateDiff("ww", BegDate, EndDate)
DateDiffW = NumWeeks * 5 + Weekday(EndDate) - Weekday(BegDate)
End If
End Function
...
Рейтинг: 0 / 0
08.11.2007, 15:09
    #34925374
andron123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прибавить дни без учета выходных
большое человеческое спасибо :)
...
Рейтинг: 0 / 0
08.11.2007, 15:39
    #34925504
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прибавить дни без учета выходных
Рад был помочь...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Прибавить дни без учета выходных / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]