我正在尝试从现在到中午12点(中午)之间的小时和分钟获得当前时差。如果当天晚上12点过去,那么必须将小时倒数到第二天。
我已经在这里看了一会儿,并且找到了很多关于获得日期差异的例子但是我无法获得时间的工作解决方案所以一直在玩我自己的。但是我无法getTime();
从我的新日期的毫秒时间戳中得到小时和分钟,并且我不确定为什么。这是我的代码:
dateone = new Date();
datetwo = new Date();
datetwo = datetwo.setHours(12);
dateone = dateone.getTime();
datetwo = datetwo.getTime();
if(dateone > datetwo) {
var seconds = dateone - datetwo;
} else {
var seconds = datetwo - dateone;
}
var d = seconds;
var minutes=(d/(1000*60))%60;
var hours=(d/(1000*60*60))%24;
var minutesround=Math.floor(minutes);
var hoursround=Math.round(hours);
var endtime = 12;
alert(hours);
alert(minutes);
如果有人能够找到更好的方法,或者可以提出任何建议,那将非常感激!
谢谢, 西蒙
答案 0 :(得分:1)
尝试
var d = new Date(), midDay = new Date();
midDay.setHours(12);
midDay.setMinutes(0);
midDay.setSeconds(0);
if(d > midDay) {
midDay.setDate(midDay.getDate() + 1)
}
var diff = (midDay.getTime() - d.getTime()) / 1000;
var hrs = parseInt(diff / 3600);
diff = diff % 3600;
var minutes = parseInt(diff / 60);
console.log(hrs, minutes)
演示:Fiddle