我是JavaScript / HTML的新手。
我正在比较两个日期:
当前日期(d1)
日期FME工作台已运行(d2)
如果d1 = 2,则标题以绿色显示(d2)-可以。
如果d1!= d2,则会创建警报(有效),并且页面顶部的(d2)日期应为红色。不幸的是,什么都没有发生。
我知道发生这种情况是因为d1是一个字符串,而d2是一个数字。但是,删除d1的toString()会给我2033作为日期,而将其应用于d2则会导致Alert和Title将d2表示为[Window Object]。
var now = new Date();
var y = now.getFullYear().toString();
var m = (now.getMonth() + 1).toString();
var d = now.getDate().toString();
(d.length == 1) && (d = '0' + d);
(m.length == 1) && (m = '0' + m);
var d1 = y + m + d;
var d2 = toString(20190508) //this number is pulled from FME
if (d1 != d2) {
alert("ACHTUNG: Die FME Server Log Workbench wurde heute (" + d1 + ") NICHT ausgeführt! \n\nLetzte Ausführung: " + d2);
var Titel = "Letzte Ausführung: " + d2.fontcolor("red");
document.getElementById("demo").innerHTML = Titel;
} else {
var Titel = "Letzte Ausführung: " + d1.fontcolor("green");
document.getElementById("demo").innerHTML = Titel;
}
<h1 id="demo"></h1>
因此,我不确定如何解决此问题。谢谢您的时间
答案 0 :(得分:3)
您必须像这样40, 50, 60
将整数转换为字符串。您在其中犯了一个错误,这就是为什么要获取window.object。
尝试此代码。
(20190508).toString()
var now = new Date();
var y = now.getFullYear().toString();
var m = (now.getMonth() + 1).toString();
var d = now.getDate().toString();
(d.length == 1) && (d = '0' + d);
(m.length == 1) && (m = '0' + m);
var d1 = y + m + d;
var d2 = (20190508).toString() //this number is pulled from FME
if (d1 != d2) {
alert("ACHTUNG: Die FME Server Log Workbench wurde heute (" + d1 + ") NICHT ausgeführt! \n\nLetzte Ausführung: " + d2);
var Titel = "Letzte Ausführung: " + d2.fontcolor("red");
document.getElementById("demo").innerHTML = Titel;
} else {
var Titel = "Letzte Ausführung: " + d1.fontcolor("green");
document.getElementById("demo").innerHTML = Titel;
}