-1
所需的輸出Null值:我有一個日期變量傳遞一個需要相比,今天的日期並返回天氣是前或後的今天。然後,我想返回「是」或「否」來指示它是否活動的天氣。比較日期使用JavaScript
<script>
function calculate(currentlyEffective) {
var now_utc = new Date(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds());
var expDate = currentlyEffective.Expiration_Date;
expDate = new Date(expDate).toUTCString();
var result = "";
if (expDate < now_utc) {
result = "No"
}
else {
result = "Yes"
}
return result;
}
</script>
問題:
一些被傳遞不具有價值,因爲他們還沒有過期的日期。這將返回
Thu, 01 Jan 1970 00:00:00 GMT
期望的輸出將在此處爲"Yes"
,即使日期會比今天更短,因爲它沒有到期日期,因此它的"Yes"
仍然有效。某些事情在計算中沒有正確發生。我的返回值始終是
"Yes"
問題:
我是不是正確的比較這些日期與我的if else功能?
即使在我有一個日期在
expDate
這是在今天之前,我仍然會得到「是」作爲我的返回值。我究竟做錯了什麼?
這可能會縮減爲'new Date(currentlyEffective.Expiration_Date)
RobG
關於:*「您正在比較兩個字符串與<」*。 * now_utc *是一個Date對象,* expDate *是一個字符串。 – RobG
@RobG:was not that shure toString()obj called。感謝澄清和關於縮短的小記。添加到我的答案... –