在javascript中比较日期对象的时间组件的最佳方法是什么
我知道这可以通过以下方式实现:在javascript中比较日期对象的时间组件的最佳方法是什么,javascript,date,time,Javascript,Date,Time,我知道这可以通过以下方式实现: 比较小时和分钟等 正在比较date.getTime()%86400000 比较date.toLocaleTimeString() 是否有一种直接的方法?如果您只想比较时间成分,可以执行以下操作: function isTimeEqual(d0, d1) { return d0.getHours() == d1.getHours() && d0.getMinutes() == d1.getMintues() &&
是否有一种直接的方法?如果您只想比较时间成分,可以执行以下操作:
function isTimeEqual(d0, d1) {
return d0.getHours() == d1.getHours() &&
d0.getMinutes() == d1.getMintues() &&
d0.getSeconds() == d1.getSeconds() &&
d0.getMilliseconds() == d1.getMilliseconds();
}
您可能不关心毫秒数
如果您知道该位置从未遵守夏时制,或者时间为UTC,则可以执行以下操作:
var msPerDay = 24*60*60*1000;
return d0 % msPerDay == d1 % msPerDay;
或
我认为最好的方法是第二种。但可以这样做
var d1 = new Date("10/10/2008 12:00");
var d2 = new Date("10/12/2008 12:30");
var diff = (d2-d1) % 86400000;
如果您希望它对d1>d2起作用
var d1 = new Date("10/11/2010 12:00");
var d2 = new Date("10/10/2010 12:30");
d1.setFullYear(d2.getFullYear());
d1.setMonth(d2.getMonth());
d1.setDate(d2.getDate());
var diff = d2-d1;
将周一下午1点与周二下午1点进行比较,是否应该得出一个结果,表明时间相等或相隔24小时?相等,我的意思是日期部分并不重要,只是时间重要,那么分数秒呢?23:11:42.223和23:11:42.489一样吗?我在寻找一个精确的比较。但问题是两者都有。只是我发现自己在比较时间,而我写的代码看起来从来都不对。
var d1 = new Date("10/11/2010 12:00");
var d2 = new Date("10/10/2010 12:30");
d1.setFullYear(d2.getFullYear());
d1.setMonth(d2.getMonth());
d1.setDate(d2.getDate());
var diff = d2-d1;