我有两个时间:"02:00"这是hoursValue: minutesValue"02:00"这是hoursValue: minutesValue
var startTime = new Date().setHours("02:00".split(":")[0]);
console.log(startTime);
var endTime = new Date().setHours("2:00".split(":")[0]);
console.log(endTime);
var compare = startTime === endTime;
console.log(compare)
> 1672965757045
> 1672965757046
> false
我注意到有时它返回不同的毫秒数。为什么这个解决方案是坏的,如何比较两个小时当第一个从0开始另一个没有。
为什么不直接比较一下时间呢?
var startTime = new Date();
startTime.setHours("02:00".split(":")[0]);
console.log(startTime);
var endTime = new Date();
endTime.setHours("2:00".split(":")[0]);
console.log(endTime);
var compare = startTime.getHours() === endTime.getHours();
console.log(compare);
您得到不同的开始和结束时间的原因是console.log()
和任何其他操作都需要时间。只需获取星号和结束时间,然后比较之后的时间:
var startTime = new Date();
console.log('introduce a small delay with console log');
var endTime = new Date();
let diff = endTime.valueOf() - startTime.valueOf();
let compare = startTime.getHours() === endTime.getHours();
console.log({
startTime,
endTime,
diff,
compare
});