簡體   English   中英

使用JavaScript函數顯示今天的約會/日期

[英]show appointments/ dates of today with JavaScript function

我想在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表中的約會和日期?

問題出在你的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

}

工作小提琴

將您的代碼更改為

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM