我有一张互动地图,显示美国不同地区的活动日期。该地图可以很好地解析XML文档并获取数据并实际显示它。不过我的问题是我无法从2014年开始展示物品。地图从XML文档中提取数据,并根据当前月/日/年进行检查。如果数据等于今天或更晚,则显示它。但它没有显示2014年的任何数据。
这是我的条件语句检查彼此的日期 - 这就是问题所在:
if (Number(currentYear) <= findCourseYear || Number(currentYear) <= findCourseYear2){
if (Number(currentYear) <= findCourseYear && Number(currentMonth) + 1 <= findCourseMonth || Number(currentYear) <= findCourseYear2 && Number(currentMonth) + 1 <= findCourseMonth2){
if (Number(currentMonth) + 1 == findCourseMonth && Number(currentDay) <= findCourseDay || Number(currentMonth) + 1 < findCourseMonth || Number(currentMonth) + 1 == findCourseMonth2 && Number(currentDay) <= findCourseDay2 || Number(currentMonth) + 1 < findCourseMonth2){
courseType.push($(this).find('type').text());
courseName.push($(this).find('name').text());
courseCity.push($(this).find('city').text());
courseState.push($(this).find('state').text());
courseDate.push($(this).find('date').text());
courseLink.push($(this).find('link').text());
courseGeo.push($(this).find('geo').text());
}
}
}
这条件有什么阻止地图显示明年的数据?
注意:年份输入为2位数。 EX:10/22/13或5/10/13
答案 0 :(得分:1)
使用JavaScript的Date()
构造函数。看起来您的支票可以简化为:
var now = Date.now();
var courseDate1 = new Date("20" + findCourseYear, +findCourseMonth - 1, findCourseDay);
var courseDate2 = new Date("20" + findCourseYear2, +findCourseMonth2 - 1, findCourseDay2);
if (courseDate1 >= now || courseDate2 >= now) {
// ...
}