Для метода/сборки, чтобы выяснить, каникулы США, в основном просто выяснить все основные праздники и «формулу», которую они используют.
Для тех, которые никогда не меняются, как Рождество, это легко - 25 декабря.
Для тех, которые несколько меняются, обычно есть формула - как третий понедельник февраля, являющийся Днем президентов. Вы можете просто использовать этот метод для данного года.
Это не будет работать для праздников без какой-либо конкретной картины (т. Е. Какой-то комитет решает, какая дата каждый год), но для всех основных есть легко различимые формулы.
Это действительно отличный кандидат на испытательный дизайн. Вы узнаете все основные даты отпуска для определенного года, так что вы сможете прокормить этот год в методе и получить правильные ответы.
Прохладный сервис и ссылки, но моя проблема заключается в том, чтобы найти современный источник, какими праздниками являются официальные государственные праздники США (как, в то время, федерации не работают). – CMPalmer 2009-02-25 20:30:52
Интересный сайт, но он так ужасно разработан (мои глаза блестели), и у него нет ничего подобного isHoliday (date). – Cerin 2010-03-06 21:52:14
Вы действительно хотите позвонить в удаленную службу, чтобы определить, была ли конкретная дата праздником? Это звучит как вызов метода, который будет выполняться часто. Разумеется, более оперативно периодически делать удаленный вызов для получения списка праздников в конкретном году, кэшировать эту информацию локально и использовать его в своей локальной реализации isHoliday (date). Кстати, если ваши глаза кровоточат, возможно, разумно отдохнуть от публикации на SO и обратиться за медицинской помощью. – 2010-03-06 22:00:15