javascript 比较两个日期小时

jrcvhitl  于 2023-01-07  发布在  Java
关注(0)|答案(2)|浏览(132)

我有两次:“02:00”这是小时值:分钟值“02:00”这是小时值:分钟数值

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另一个没有。

3okqufwl

3okqufwl1#

你为什么不直接比较一下时间呢?

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);
8xiog9wr

8xiog9wr2#

您得到不同的开始和结束时间的原因是因为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
});

相关问题