gpt4 book ai didi

javascript - 使用 HolidayAPI 处理银行假日

转载 作者:行者123 更新时间:2023-12-02 14:51:32 25 4
gpt4 key购买 nike

问题:如果日期是银行假日,如何使用 API 返回 bool 值?

我做了一些研究,发现了一个很棒的免费 API,其中包含银行假期,但是我在使用它时遇到了问题:http://holidayapi.com/

如果我要使用此代码:

 var year = 2016;
var month = 3;
var day = 25;
var isAHoliday = false;

$.getJSON(
"http://holidayapi.com/v1/holidays?country=GB&year=" + year + "&month=" + month + "&day=" + day, function (data) {
console.log(data); //DOES NOT DISPLAY IN CONSOLE
if (data.holidays.length > 0) {
// BANK HOLIDAY
isAHoliday = true;
}
else {
//IS NOT BANK HOLIDAY
//AND NOTHING NEEDS TO BE DONE
}
});

我希望能够返回 true 或 false 值,具体取决于是否返回任何数据,但是我做错了,因为未调用 getJSON 请求,请有人纠正我哪里错了?

http://holidayapi.com/v1/holidays?country=GB&year=2016&month=03&day=25返回{"status":200,"holidays":[{"name":"Good Friday","country":"GB","date":"2016-03-25"}]}

http://holidayapi.com/v1/holidays?country=GB&year=2016&month=03&day=26返回{"status":200,"holidays":[]}

这似乎导致了问题: "http://holidayapi.com/v1/holidays?country=GB&year="+ 年 + "&month="+ 月 + "&day="+ day; 如果我传递上面 2 个 URL 之一,我会得到正确的结果,我现在正在玩这个

https://jsfiddle.net/dcxk6ens/

最佳答案

如果您只想在所选日期是假日时返回 true 值,或者如果不是假日则返回 false 值,则可以使用如下函数:

(请注意,jsfiddle 不会使用“http://”协议(protocol)对 URL 执行任何 AJAX 调用,因为它不安全。)

function isDateAHoliday(y, m, d) {

var jsonURL = "http://holidayapi.com/v1/holidays?country=GB&year=" + y + "&month=" + m + "&day=" + d;
var isAHoliday = false;

$.getJSON(jsonURL, function (data) {
// If the date is a holiday
if (data.holidays.length > 0) {
// Do some things
isAHoliday = true;
}
// Check values
console.log("JSON DATA: ", data);
console.log("Holiday?: " + isAHoliday);

return isAHoliday;
});
}

isDateAHoliday("2016", "3", "25");

如果您还想返回假期的名称和国家/地区,可以在 if 语句中替换 isAHoliday = data.holidays[0];

关于javascript - 使用 HolidayAPI 处理银行假日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36151042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com