【发布时间】:2023-03-13 07:19:01
【问题描述】:
我正在尝试获取用户的输入并将其存储在一个变量中,以便与今天的日期进行比较。如果它等于今天的日期,它将输出一条消息,否则它只会输出数据。
<script>
let month = [];
let day = [];
let year = [];
let monthInput = document.getElementById("month");
let dayInput = document.getElementById("day");
let yearInput = document.getElementById("year");
let messageBox = document.getElementById("display");
function insert ( ) {
month.push( monthInput.value );
day.push( dayInput.value );
year.push( yearInput.value );
celebrate();
}
function celebrate() {
// Show output
messageBox.innerHTML = "";
let q = new Date();
let m = q.getMonth();
let d = q.getDay();
let date = new Date(m, d);
//compares dates
if( m == month && d == day ){
messageBox.innerHTML = `Happy Birthday!`;
}else{
console.log(date);
messageBox.innerHTML += `Your birthday is ${month}/${day}`;
}
}
</script>
我只得到了 else 语句的输出。
【问题讨论】:
-
m == month其中一个是数组,另一个不是,所以它们永远不会相等。d == day也一样。
标签: javascript date string-comparison