【发布时间】:2020-09-07 16:59:41
【问题描述】:
寻找在今天是生日时发出警报的解决方案。这里比较isSame() 中的Day 和Month 非常不幸的是isSame() 没有将日期与给定日期进行比较。当年份不同时,month 也不成立。
寻找 javascript 来查找用户的生日
const dateOfBirth = moment("2018-09-07T13:36:14.000Z").format("DD-MM-YYYY");
const today = moment(new Date()).format("DD-MM-YYYY");
if (
moment(dateOfBirth).isSame(today, "day") &&
moment(dateOfBirth).isSame(today, "month")
) {
console.log("Today is your birth day");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
【问题讨论】:
-
当您只想比较日期时使用 UTC 时间戳意味着比较可能会在不应该的情况下失败。修剪时间部分,只使用日期:
moment('2018-09-07', 'YYYY-MM-DD')然后,正如 Webber 所说,将年份设置为当前年份并进行比较。
标签: javascript ecmascript-6 momentjs date