Ответ 1
Возможно, вы можете использовать System.Globalization.DateTimeFormatInfo.CurrentInfo.DayNames.Length.
Может ли кто-нибудь найти константу в платформе .NET, которая определяет количество дней в неделю (7)?
DateTime.DaysInAWeek // Something like this???
Конечно, я могу определить свой собственный, но я бы предпочел, чтобы он где-то там уже был.
Я ищу это, потому что мне нужно разрешить пользователю выбирать неделю (по дате, а не номер недели) из списка в DropDownList.
Возможно, вы можете использовать System.Globalization.DateTimeFormatInfo.CurrentInfo.DayNames.Length.
Я думаю, что это нормально для этого. Я не думаю, что скоро это изменится.
Изменить: зависит от того, где вы хотите использовать эту константу. Внутри некоторого календарного алгоритма очевидно, что означает 7. С другой стороны, иногда называемый константный код становится намного читабельнее.
Попробуйте следующее:
Enum.GetNames(System.DayOfWeek).Length
Если вы посмотрите на код IL для Calendar.AddWeeks, вы увидите, что сама Microsoft использует в коде жесткий код 7.
Я не верю, что есть один. TimeSpan определяет константы для количества тиков в миллисекундах/минуту/час/день, но ничто на уровне недели.
Я выполнил запрос через стандартные библиотеки для символов (методы/константы/поля/etc), содержащие слово "неделя". Ничего не получилось. FYI, я выполнил этот запрос с помощью ReSharper.
GregorianCalendar
имеет AddWeeks(1)
который добавит 7 дней к дате.
Вы имеете в виду календарные недели или просто общие недели?
Очевидно, есть календарные недели, которые могут быть короче семи дней. Последняя календарная неделя года обычно короче, и в зависимости от вашего определения календарной недели первая неделя может быть и короче.
В этом случае, боюсь, вам придется развернуть свою собственную функцию длины недели. Это не очень сложно сделать с классом DateTime
, я сделал это раньше, если вам нужна дополнительная помощь, дайте мне знать.
Я не уверен, что именно вы ищете, но вы можете попробовать DateHelper (CODE.MSDN). Это библиотека, которую я собрал для типичных потребностей. Возможно, вы сможете использовать методы недели или методы List. список методов