Javascript 如何判断两个日期是否在同一天?
我正在使用矩npm模块。 我正在比较两个日期,想看看是否有相同的日期 有没有一种干净的方法可以使用矩包来实现这一点Javascript 如何判断两个日期是否在同一天?,javascript,typescript,Javascript,Typescript,我正在使用矩npm模块。 我正在比较两个日期,想看看是否有相同的日期 有没有一种干净的方法可以使用矩包来实现这一点 或者使用纯javascript或typescript?Date原型具有API,允许您检查年、月和月日,这似乎简单而有效 您需要从代码运行的区域设置的角度来决定应用程序是否需要相同的日期,或者是否应该基于UTC值进行比较 function sameDay(d1, d2) { return d1.getFullYear() === d2.getFullYear() &&am
或者使用纯javascript或typescript?Date原型具有API,允许您检查年、月和月日,这似乎简单而有效 您需要从代码运行的区域设置的角度来决定应用程序是否需要相同的日期,或者是否应该基于UTC值进行比较
function sameDay(d1, d2) {
return d1.getFullYear() === d2.getFullYear() &&
d1.getMonth() === d2.getMonth() &&
d1.getDate() === d2.getDate();
}
有相应的UTC gettergetUTCFullYear()
、getUTCMonth()
和getUTCDate()
这将确保日期在同一天
阅读有关JavascriptDate
到目前为止你试过什么?代码在哪里?确切日期的当天或月的同一天(独立于年份)或…?另外,请查看时刻手册,
d1.getDate()===d2.getDate()&&Math.abs(d1.getTime()-d2.getTime()),当然,要添加到这一点,可能需要使用更小的库。首先检查当天可能会更有效一些(getDate
)。如果我们在一起检查日期,年份和月份可能是相同的,但日期更可能不同。我们可以在只进行一次比较后通过短路退出函数来保存一些检查。@PaulRooney这是一个很好的观点;同样,对原始时间戳进行初始范围检查可能是值得的。在现代运行时,我怀疑ect只有在非常频繁地进行比较时,这些改进才会起作用。@JonasMerhej这对数字不起作用,因为你会得到误报。例如,5月5日(第5天,第4个月)与7月4日(第4天,第5个月)相同@newfolder请原谅我的错误解释。你完全正确,我想添加的是作为字符串的,例如“4+5”将不同于“5+4”Sad。Python只是更好。
var isSameDay = (dateToCheck.getDate() === actualDate.getDate()
&& dateToCheck.getMonth() === actualDate.getMonth()
&& dateToCheck.getFullYear() === actualDate.getFullYear())