jreypalars Ответов: 1

Vb.net как рассчитать будние дни в месяц и гибко с 2019 по 2025 год


Привет Кодеры,

Не могли бы вы помочь поделиться полезными кодами для вычисления будних дней в месяц и гибко с 2019 по 2025 год.

Что мне нужно, так это мой пользователь, чтобы выбрать из поля со списком месяц и год. и вычислите точные рабочие дни (Пн-Пт) в метке или текстовом поле.

Спасибо!

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

Я пытаюсь избежать этого, используя два выбора даты и времени. Просто выбор месяца и года.

CHill60

Раздел "Что я пробовал:" - это место, где вы размещаете код, который вы уже пробовали.

1 Ответов

Рейтинг:
0

OriginalGriff

Довольно просто: все, что вам нужно сделать, это получить месяц и год, а затем преобразовать их в объект DateTime для 1-го числа месяца. Затем вы можете сгенерировать из этого последний день месяца:

Dim year As Integer = 2019
Dim month As Integer = 12
Dim first As DateTime = New DateTime(year, month, 1)
Dim last As DateTime = first.AddMonths(1).AddDays(-1)
После этого вы можете сделать одно из двух:
1) циклически перебирайте все дни между первым и последним включительно, используя DayOfWeek и AddDays, считая дни, которые не являются субботой или воскресеньем.
2) Используйте DayOfWeek, чтобы найти, сколько рабочих дней в неполных неделях в начале и конце, затем вычитайте это из разницы между первой и последней неделями, разделите это на 7, умножьте на 5 и добавьте два числа неполных недель.

(1) легче, но требует больше времени для запуска каждый раз; (2) более эффективен для запуска, но труднее писать. Ваш выбор!