Javascript 如何比较两个日期并减去1秒(如果是';这是真的

Javascript 如何比较两个日期并减去1秒(如果是';这是真的,javascript,Javascript,我想将用户手动输入的日期与特定日期(12:00AM)进行比较,然后我想在第一个日期减去1秒 var d1 = $('#d1').val(); var d11 = new Date(d1); var d12 = new Date(); d12.setHours(0,0,0,0); if(d11.getTime() === d12.getTime()){ var seconds = d11.getSeconds() - 1; d11 = d11 - seconds;

我想将用户手动输入的日期与特定日期(12:00AM)进行比较,然后我想在第一个日期减去1秒

var d1 = $('#d1').val();
var d11 = new Date(d1);
var d12 = new Date();
d12.setHours(0,0,0,0);
   if(d11.getTime() === d12.getTime()){
       var seconds = d11.getSeconds() - 1;
       d11 = d11 - seconds;
   }

我希望输出是23:59:59,但实际输入是错误的。您可以通过几种方式实现这一点。但不是你尝试的方式。问题是你可以 不要像您在此处尝试的那样对日期类型执行整数操作

你可以做类似下面的事情

var t = new Date();
t.setSeconds(t.getSeconds() - 1);

这里1000以毫秒为单位。

d11.setSeconds(d11.getSeconds()-1)
?不过,不确定为什么从给定的日期减去一秒钟会得到
23:59:00
作为时间-应该是
23:59:59
new Date(Date.now() - 1000);