2

我是 JavaScript/HTML 的新手。

我正在比较两个日期:

  1. 当前日期 (d1)

  2. 运行 FME 工作台的日期 (d2)

如果 d1 = 2,标题以绿色显示 (d2) - 这有效。

如果 d1 != d2 创建警报(有效)并且页面顶部的 (d2) 日期应该是红色的。不幸的是,什么也没有发生。

我知道这是因为 d1 是一个字符串,而 d2 是一个数字。但是,删除 d1 的 toString() 会给我 2033 作为日期,而将其应用于 d2 会导致警报和标题将 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>

因此,我不确定如何纠正这个问题。感谢您的时间

4

1 回答 1

3

您必须像这样将整数转换为字符串(20190508).toString()。你犯了一个错误,这就是你得到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 =  (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;
}
<h1 id="demo"></h1>

于 2019-05-09T09:51:53.357 回答