郎朗坤
这是一种比较使用Date对象/存储毫秒时间戳的两个事务是否发生在同一周、同一天或同一月的方法。const x = new Date("2020-09-19 11:55:30");const y = new Date("2020-09-17 14:12:44");Date.prototype.getWeekNumber = function() { var d = new Date(Date.UTC(this.getFullYear(), this.getMonth(), this.getDate())); var dayNum = d.getUTCDay() || 7; d.setUTCDate(d.getUTCDate() + 4 - dayNum); var yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1)); return Math.ceil((((d - yearStart) / 86400000) + 1) / 7)};function sameMonth(a, b) { return a.getFullYear() == b.getFullYear() && a.getMonth() == b.getMonth();}function sameDay(a, b) { return sameMonth(a, b) && a.getDate() == b.getDate();}function sameWeek(a, b) { return a.getFullYear() == b.getFullYear() && a.getWeekNumber() == b.getWeekNumber();}console.log(x);console.log(y);console.log("same month:", sameMonth(x, y));console.log("same day:", sameDay(x, y));console.log("same week:", sameWeek(x, y));