2012-01-05 31 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 
    } 
]