Я пытаюсь получить быстрый ETA на некоторых заранее определенных значениях 16 и 40. Так, например, мне нужен мой код для быстрого вычисления ETA на если он занимает 16 часов, но учитывается только 9-5 (8) часов в день. Очевидно, мне нужно будет включить оставшиеся часы того дня, которые у меня есть в коде, который вырезал ниже. Однако я даю себе слишком больную голову, пытаясь разработать лучший способ для продолжения работы с кодом. Может, у кого-то есть хорошая идея?Рассчитать X количество часов вперед только за 9-5 часов
Dim TargetTime as Integer = 16
Dim currentHr As Integer = current.Hour
Dim TodaysRemainingHours As Integer = 0
If currentHr >= 9 AndAlso currentHr < 17 Then
'Count remaining hours
TodaysRemainingHours = (17- currentHr)
Else
'Dont count today
TodaysRemainingHours = 0
End If
Мой план:
TargetTime
-TodaysRemainingHours
--- Дает значение для подсчета в.Как-то вычислить часы на основе только 9-5 временных интервалов.
Дисплей
lblOutput
как: «ЭТА: 2 вечера 25/11/2016»
Как вы можете видеть, что я знаю, как получить vaule мне нужно посчитать, но мне нужна помощь с первых только считая часы в каждый день от 9 до 5, а затем возвращающий фактический час. Это не выгодно, это личная программа ETA.
Поскольку ваши периоды времени кратные 8 в любом случае, почему бы вам просто не подсчитать количество «дней» (то есть, 2 или 5) из 'Now'? Если вы начнете в 10:30 Вт, ETA будет 10:30 Thur (или 10:30 Sun). – topshot