Доброе утро,Отображение дня недели в VB
Я использую элемент управления календарю, чтобы захватить выбранные пользователем даты и диапазоны дат. В событии клика по календарю я обновляю свою форму, чтобы показать пользователю выбранные даты начала и окончания.
В рамках обновления, я обновить текстовое поле, чтобы показать день недели и дату:
txtStartDate.Text = WeekdayName(Weekday(startDate)) + " " + startDate
Однако будний день я получаю 1 день из (вторник показывает в понедельник, понедельник показывает, как воскресенье и воскресенье показывают в субботу)
Чтобы обойти эту проблему, я сделал следующее:.
txtStartDate.Text = WeekdayName(Weekday(startDate) - 1) + " " + startDate
Это работает в понедельник - субботу, но когда я выбираю воскресенье в календаре он (очевидно, в ретроспективе!) падает, так как он не может отображать дату со значением -1!
Я тщетно пытался найти способ установить первый день недели в качестве понедельника вместо воскресенья. Я сделал это для управления календарем, но это только изменяет отображаемый начальный день, а не значение дня. Я попытался изменить настройки CurrentCulture:
Thread.CurrentThread.CurrentCulture = New CultureInfo("en-UK")
Thread.CurrentThread.CurrentUICulture = New CultureInfo("en-UK")
Это также не работает.
Как я могу установить понедельник как день 0 в будний день (startDate)?
Почему это должен быть номер? Что было бы неправильно при вызове свойства DayOfWeek типа DateTime. – James