показать встречи/даты сегодня с функцией JavaScript

Я хочу показать фактические встречи дня в моем HTML. Я хотел бы реализовать это с помощью JavaScript, где я получаю имя встречи и дату из таблицы Excel. Я уже кое-что написал, но это не работает и не так, как я хочу. Код:

function appointment() {

    var event = [];
    var temp = [];

    event[0] = ["17.12.2015", "test1"];
    event[1] = ["11.12.2015", "TestToday"];

    var datum = new Date();     
    var today = today.getDate();    
    var month = today.getMonth() + 1; 

    for (i = 0; i < event.length; i++) {
        if (event[i]) {
            if (event[i][0] == today && event[i][0] == month) {
                event[i][0] = temp[i];
            }
        }
        else {
            break;
        }
    }

    if (temp.length == 0) {
        document.write("Today is nothing to do");
    }
    else {
        var x2 = "Today " + ((temp.length == 1) ? "is following event: " : "are following events: ");
        for (i = 0; i < temp.length; i++) {
            x2 += ((temp[i] > 0) ? ((temp[i] == (temp.length - 1)) ? " and " : ", ") : " ") + temp[event[1]][3] + "(" + temp[event[i]][2] + ")";
        }
        document.write(x2 + " appointment");
    }

}

Вопрос: Как я могу заставить его работать? Как я могу прочитать тему встречи и дату из таблицы Excel?


person nolags    schedule 18.12.2015    source источник


Ответы (2)


Измените свой код на

var datum = new Date().setHours(0,0,0,0);
//you don't need today and month
if (event[i]) {
   eventDate = new Date(event[i][0].split(".").reverse()).getTime();
   if (datum === eventDate) {
        temp.push(event[i][1]); //there was a problem here as well
   }
}
else {
   break;
}

jsFiddle

person Minato    schedule 18.12.2015

Проблема в вашем цикле for. Для сравнения сегодняшняя дата должна быть в формате dd.mm.yy, как в массиве:

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!

var yyyy = today.getFullYear();
if(dd<10)
    dd='0'+dd;

if(mm<10)
    mm='0'+mm;

var today = dd+'.'+mm+'.'+yyyy;

for (i = 0; i < event.length; i++) {
    if (event[i]) {
        if (event[i][0] == today) {
            temp[i] = event[i][0];
        }
    }
    // Don't break your for loop

}

Рабочая скрипта

person void    schedule 18.12.2015