2008-09-12 2 views
15

Есть ли публичный/правительственный веб-сервис, который я могу позвонить, чтобы узнать, каковы национальные праздники за данный год? (Для США и/или любой страны мира.)Веб-служба национальных праздников

Редактировать: Есть ли у кого-нибудь набор формул для расчета американских праздников? (C# будет моим языком выбора, если есть выбор.)

ответ

7

В сети http://www.holidaywebservice.com есть веб-сервис, который предоставит даты праздников для США, Ирландии, Англии и Шотландии. Они также продают DLL и исходный код.

Что касается деталей алгоритмов, вы можете сделать хуже, чем проверить отличную книгу Calendrical Calculations (третье издание), которая является действительно увлекательной прочитанной для всех вопросов календарной и включает в себя образец кода LISP для своих алгоритмов календаря.

+0

Прохладный сервис и ссылки, но моя проблема заключается в том, чтобы найти современный источник, какими праздниками являются официальные государственные праздники США (как, в то время, федерации не работают). – CMPalmer 2009-02-25 20:30:52

+0

Интересный сайт, но он так ужасно разработан (мои глаза блестели), и у него нет ничего подобного isHoliday (date). – Cerin 2010-03-06 21:52:14

+0

Вы действительно хотите позвонить в удаленную службу, чтобы определить, была ли конкретная дата праздником? Это звучит как вызов метода, который будет выполняться часто. Разумеется, более оперативно периодически делать удаленный вызов для получения списка праздников в конкретном году, кэшировать эту информацию локально и использовать его в своей локальной реализации isHoliday (date). Кстати, если ваши глаза кровоточат, возможно, разумно отдохнуть от публикации на SO и обратиться за медицинской помощью. – 2010-03-06 22:00:15

2

Никто не дает это бесплатно (любая страна в мире? Лучшим источником является Copp Clark (я неаффилирован). Они предоставляют все праздники для всех стран с разбивкой по финансовому рынку, валюте и т. Д.

1

Может потребоваться некоторый разбор, и он не будет на 100% завершен, но вы можете использовать wikipedia.

1

Для метода/сборки, чтобы выяснить, каникулы США, в основном просто выяснить все основные праздники и «формулу», которую они используют.

Для тех, которые никогда не меняются, как Рождество, это легко - 25 декабря.

Для тех, которые несколько меняются, обычно есть формула - как третий понедельник февраля, являющийся Днем президентов. Вы можете просто использовать этот метод для данного года.

Это не будет работать для праздников без какой-либо конкретной картины (т. Е. Какой-то комитет решает, какая дата каждый год), но для всех основных есть легко различимые формулы.

Это действительно отличный кандидат на испытательный дизайн. Вы узнаете все основные даты отпуска для определенного года, так что вы сможете прокормить этот год в методе и получить правильные ответы.

+1

Просто будьте осторожны ... Федеральный праздник США на Рождество НЕ всегда 25 декабря. Если эта дата выпадает на выходные, праздник становится ближе к пятнице или понедельнику. Точно так же для Дня Ветеранов и Дня Независимости. – mwolfe02 2012-11-29 17:36:46

5

Онлайн-календари, на которые вы можете подписаться. Например, Google предоставляет США Праздники:

ICAL HTML

2

Есть тонны подобной информации, которые действительно должны быть предоставлены государственными веб-службами. Это, безусловно, сэкономит много денег и ошибок в долгосрочной перспективе, если правительство США предоставит такую ​​информацию через веб-службы. Heck, даже имея его в загружаемом, анализируемом формате, будет большим шагом в правильном направлении.

Я столкнулся с этим вопросом, ища способ обеспечить, чтобы приложение пропускало все федеральные праздники США в рабочие дни. Лучший источник Пра я нашел:

Operating Status Schedules from OPM

Это данные, которые нам нужно до 2020 года, но мы должны ввести его в наших таблицах.

1

Я ищу что-то подобное на основе PL/SQL. Я нашел радость (sourceforge). Это java, возможно, вы можете использовать его с ikvm из C#.К сожалению, я не смог загрузить Java API в мои Oracle RDBMS ... так ... если вы наткнулись на чистом C или PL/SQL решения, пожалуйста, дайте мне знать :-)

Приветствиях Крис

10

Вы можете попробовать http://kayaposoft.com/enrico/. Enrico Service - это бесплатный сервис, предоставляющий государственные праздники для нескольких стран, включая США. Государственные праздники для таких стран, как США или Германия, предоставляются отдельно для каждого штата. Вы можете использовать либо веб-сервис, либо json, чтобы получить праздничные дни от Enrico.

Смежные вопросы