2012-01-05 63 views
0

我需要在公众假期期间禁止进入停车场系统,但是我不希望制作更多课程,而是希望可以在现有方法中完成。我的问题是,是否有这样的事情在java中已经有预定义的公共假期日期,并且可以在状态或某种排序中使用,以防止在今天的日期与公共假日日期匹配的情况下进入。公共假期检查员(英国)

这是我现有的方法,你可以看到它的检查周末,周六和周日,这两个都是公共休息日。但在英国有更多的日子,如银行假期,但我如何定义所有其他日期。

public boolean checkHoliday(){ 
    Calendar cal = Calendar.getInstance(); 
    int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK); 
    if (dayOfWeek == 1 || dayOfWeek == 7){ 
     return true; 
    } else { 
     return false; 
    } 
    /*add method for further holiday date check*/ 

} 
+0

短答案没有。 – Woot4Moo 2012-01-05 00:22:00

+0

如果这是可以实现的,我可以在当年的文件中定义假期日期。但我如何将今天的日期与文件格式的日期进行比较dd/mm/yyyy – user1106130 2012-01-05 00:56:55

+0

停车场位于何处?实际的假期会因国家/地区而异,因此您不能使用英国银行假期列表来确定苏格兰公共假期。 – Duncan 2012-01-05 11:50:40

回答

4

您可以从google public holiday for UK获取XML。

如果你更喜欢ICAL格式,here it is

如果你想检查它只是look here

+1

您的链接对我来说很糟糕,但是如果您指的是Google“英国节假日”日历,其中包含“母亲节”等很多天,而这些日期根本不是假期。 – Duncan 2012-01-05 11:48:15

0

您可以使用此库是用C#编写的,但是可以使用JSON/XML Webservice。

https://github.com/tinohager/Nager.Date

JSON Webservice的

获取英国的公众假期为2018年 http://date.nager.at/api/v1/get/GB/2018

Java示例

//https://github.com/FasterXML/jackson-databind/ 
ObjectMapper mapper = new ObjectMapper(); 
MyValue value = mapper.readValue(new URL("http://date.nager.at/api/v1/get/US/2018"), PublicHoliday[].class); 

PublicHoliday.class

public class PublicHoliday 
{ 
    public String Date; 
    public String LocalName; 
    public String Name; 
    public String CountryCode; 
    public Boolean Fixed; 
    public Boolean CountyOfficialHoliday; 
    public Boolean CountyAdministrationHoliday; 
    public Boolean Global; 
    public String[] Counties; 
    public int LaunchYear; 
} 

例JSON数据检索

[ 
    { 
    "date": "2017-01-01", 
    "localName": "New Year's Day", 
    "name": "New Year's Day", 
    "countryCode": "US", 
    "fixed": true, 
    "countyOfficialHoliday": true, 
    "countyAdministrationHoliday": true, 
    "global": true, 
    "counties": null, 
    "launchYear": null 
    }, 
    { 
    "date": "2017-01-16", 
    "localName": "Martin Luther King, Jr. Day", 
    "name": "Martin Luther King, Jr. Day", 
    "countryCode": "US", 
    "fixed": true, 
    "countyOfficialHoliday": true, 
    "countyAdministrationHoliday": true, 
    "global": true, 
    "counties": null, 
    "launchYear": null 
    }, 
    { 
    "date": "2017-01-20", 
    "localName": "Inauguration Day", 
    "name": "Inauguration Day", 
    "countryCode": "US", 
    "fixed": true, 
    "countyOfficialHoliday": true, 
    "countyAdministrationHoliday": true, 
    "global": false, 
    "counties": [ 
     "US-DC", 
     "US-LA", 
     "US-MD", 
     "US-VA" 
    ], 
    "launchYear": null 
    }, 
    { 
    "date": "2017-02-20", 
    "localName": "Washington's Birthday", 
    "name": "Presidents' Day", 
    "countryCode": "US", 
    "fixed": true, 
    "countyOfficialHoliday": true, 
    "countyAdministrationHoliday": true, 
    "global": true, 
    "counties": null, 
    "launchYear": null 
    }, 
    { 
    "date": "2017-05-29", 
    "localName": "Memorial Day", 
    "name": "Memorial Day", 
    "countryCode": "US", 
    "fixed": true, 
    "countyOfficialHoliday": true, 
    "countyAdministrationHoliday": true, 
    "global": true, 
    "counties": null, 
    "launchYear": null 
    }, 
    { 
    "date": "2017-07-04", 
    "localName": "Independence Day", 
    "name": "Independence Day", 
    "countryCode": "US", 
    "fixed": true, 
    "countyOfficialHoliday": true, 
    "countyAdministrationHoliday": true, 
    "global": true, 
    "counties": null, 
    "launchYear": null 
    }, 
    { 
    "date": "2017-09-04", 
    "localName": "Labor Day", 
    "name": "Labor Day", 
    "countryCode": "US", 
    "fixed": true, 
    "countyOfficialHoliday": true, 
    "countyAdministrationHoliday": true, 
    "global": true, 
    "counties": null, 
    "launchYear": null 
    }, 
    { 
    "date": "2017-09-09", 
    "localName": "Columbus Day", 
    "name": "Columbus Day", 
    "countryCode": "US", 
    "fixed": true, 
    "countyOfficialHoliday": true, 
    "countyAdministrationHoliday": true, 
    "global": false, 
    "counties": [ 
     "US-AL", 
     "US-AZ", 
     "US-CO", 
     "US-CT", 
     "US-DC", 
     "US-GA", 
     "US-ID", 
     "US-IL", 
     "US-IN", 
     "US-IA", 
     "US-KS", 
     "US-KY", 
     "US-LA", 
     "US-ME", 
     "US-MD", 
     "US-MA", 
     "US-MS", 
     "US-MO", 
     "US-MT", 
     "US-NE", 
     "US-NH", 
     "US-NJ", 
     "US-NM", 
     "US-NY", 
     "US-NC", 
     "US-OH", 
     "US-OK", 
     "US-PA", 
     "US-RI", 
     "US-SC", 
     "US-TN", 
     "US-UT", 
     "US-VA", 
     "US-WV" 
    ], 
    "launchYear": null 
    }, 
    { 
    "date": "2017-11-10", 
    "localName": "Veterans Day", 
    "name": "Veterans Day", 
    "countryCode": "US", 
    "fixed": false, 
    "countyOfficialHoliday": true, 
    "countyAdministrationHoliday": true, 
    "global": true, 
    "counties": null, 
    "launchYear": null 
    }, 
    { 
    "date": "2017-12-23", 
    "localName": "Thanksgiving Day", 
    "name": "Thanksgiving Day", 
    "countryCode": "US", 
    "fixed": true, 
    "countyOfficialHoliday": true, 
    "countyAdministrationHoliday": true, 
    "global": true, 
    "counties": null, 
    "launchYear": 1863 
    }, 
    { 
    "date": "2017-12-25", 
    "localName": "Christmas Day", 
    "name": "Christmas Day", 
    "countryCode": "US", 
    "fixed": true, 
    "countyOfficialHoliday": true, 
    "countyAdministrationHoliday": true, 
    "global": true, 
    "counties": null, 
    "launchYear": null 
    } 
]