我的脚本成功提取了API数据,但我的脚本忽略了前几​​个实例

时间:2012-11-23 20:54:53

标签: javascript json

我正在编写一个脚本来从API中提取和解析开放时间。我使用常规时间在接下来的七天内创建了一个对象,然后与我们的假期时间列表进行比较。

如果在这七天中的某一天发生假期,则会使用此数据覆盖开放时间。

    // get regular hours
    var next7days = [];
    var storeday = new Date(2012, 12-1, 5);
    for (var i = 0; i < 7; i++) {
        var dayofweek = (storeday.getDay() + 6) % 7;
        next7days[i] = data.hours.regular_hours[dayofweek];
        next7days[i].date = storeday;
        storeday = new Date(storeday.getTime() + 86400000);
    }

    // get holiday hours
    for (var i = 0; i < data.hours.holiday_hours.length; i++) {

        // this spits out all holidays fine
        console.log('holiday:');
        console.log(data.hours.holiday_hours[i]);

        for (var j = 0; j < 7; j++) {
            var fixdate = next7days[j].date.getFullYear() + '-' + (next7days[j].date.getMonth() + 1) + '-' + (next7days[j].date.getDate());
            if (fixdate == data.hours.holiday_hours[i].date) {
                next7days[j].open_time = data.hours.holiday_hours[i].open_time;
                next7days[j].close_time = data.hours.holiday_hours[i].close_time;
                next7days[j].day_name = data.hours.holiday_hours[i].day_name;
                next7days[j].type = data.hours.holiday_hours[i].type;

                // the first seven holidays are NOT successful
                console.log('successful:');
                console.log(next7days[j]);
            }
        }
    }

虽然不是前七个假日日期,但效果非常好。该脚本可以很好地获取信息(请参阅console.log),但它不是通过假日常规比较运行,也不会识别日期匹配。

作为参考,第一个假日日期是12月3日 - 12月9日,但我的假期时间比较似乎忽略了这些假日日期。从12月10日开始,一切似乎都很好。

谁能明白为什么?提前致谢

1 个答案:

答案 0 :(得分:5)

前几个日期不起作用,因为他们错过了假期日期的前导0。然后以两位数运行,因为日期平等有效。