2008-09-12 54 views
15

是否有公共/政府的网络服务,我可以打电话来了解给定年份的全国假期? (对于美国和/或世界上的任何国家。)National holiday web service

编辑:有没有人有一套计算美国节假日的公式? (如果有选择,C#将是我选择的语言。)

回答

7

有一个网络服务http://www.holidaywebservice.com将提供美国,爱尔兰共和国,英格兰和苏格兰的假期日期。他们还出售DLL和源代码。

至于算法的细节,你可以做逊于检查出的优秀Calendrical Calculations书(第三版),这是历法的一切事务着实令人着迷的阅读,包括样品Lisp代码为他们的日历算法。

+0

很酷的服务和参考,但我的问题是试图找到哪些假期是官方美国政府假期的最新来源(因为在那些日子里联邦政府没有工作)。 – CMPalmer 2009-02-25 20:30:52

+0

有趣的网站,但它是如此可怕的设计(我的眼睛放血),它没有像isHoliday(日期)的东西。 – Cerin 2010-03-06 21:52:14

+0

你真的想打电话给远程服务来确定一个特定的日期是否是假期吗?这听起来像是经常进行的那种方法调用。定期进行远程调用以获取特定年份的假期列表,并在本地缓存该信息,并将其用于本地实现isHoliday(日期)的过程中,性能会更好。顺便提一下,如果你的眼睛在流血,那么从SO上张贴休息并寻求医疗援助可能是谨慎的。 – 2010-03-06 22:00:15

2

没有人免费赠送(世界上任何国家?获得真实的)。最好的来源是科普克拉克(我是无党派的)。它们为所有国家提供按金融市场,货币等细分的所有假期。

1

可能需要一些解析,但它不是100%完整的,但可以使用wikipedia

1

为了找出美国假期的方法/程序集,基本上只是找出所有主要假期和他们使用的“公式”。

对于那些永不改变的人来说,像圣诞节一样,这很容易 - 12月25日。

对于那些有所变化的人来说,通常有一个公式 - 就像2月份的第三个星期一是总统日。你可以让方法找出特定年份。

这对于没有任何特定模式的节假日不起作用(即一些委员会决定每年的日期是什么),但对于所有主要的那些都有容易辨别的公式。

这实际上是测试驱动设计的最佳人选。你会知道某个特定年份的所有主要假期日期,所以你应该能够将这一年填入方法并获得正确的答案。

+1

只是要小心......美国联邦圣诞节假期并非总是在12月25日。如果这个日期是周末,那么假期就是周五或周一。同样的退伍军人节和独立日。 – mwolfe02 2012-11-29 17:36:46

5

有在线日历,你可以订阅。例如,谷歌提供美国假期:

ICAL HTML

2

有吨真的应该由政府的网络服务提供类似的信息。如果美国政府可以通过网络服务提供这样的信息,那么从长远来看,这肯定会节省大量金钱和错误。哎呀,即使是可下载的,可解析的格式,也是朝着正确方向迈出的一大步。

我跑过这个问题,同时寻找一种方法来确保应用程序跳过所有美国联邦法定节假日的工作日计算。我找到的最好的。州长来源:

Operating Status Schedules from OPM

这样做,我们到2020年需要的数据,但我们必须把它输入到我们自己的表。

1

我正在寻找类似的基于PL/SQL的东西。我找到了jollyday(sourceforge)。这是Java也许你可以使用它从C#中的ikvm。遗憾的是我没能Java API的加载到我的Oracle RDBMS ...所以...如果您在纯C或PL/SQL解决方案来了,请让我知道:-)

干杯 克里斯

10

您可以尝试http://kayaposoft.com/enrico/。 Enrico Service是一项免费服务,为包括美国在内的多个国家提供公共假期。美国或德国等国家的公共假期分别为每个州提供。您可以使用Web服务或JSON从Enrico获取公共节假日。