gpt4 book ai didi

javascript - 获取1周内过生日的人列表

转载 作者:搜寻专家 更新时间:2023-11-01 04:35:48 24 4
gpt4 key购买 nike

假设我有一个生日数组

 var bdates = ['1956-12-03', '1990-03-09',...]

我将通过一个函数对每个日期进行处理,该函数将返回从今天(或从现在开始?)起 7 天内生日的那些日期。我现在拥有的是:

var bdays = _.map(bdates, function(date) {
var birthDate = new Date(date);
var current = new Date();
var diff = current - birthDate; // Difference in milliseconds
var sevenDayDiff = Math.ceil(diff/31557600000) - (diff/31557600000); //1000*60*60*24*365.25
if (sevenDayDiff <= 0.01916495550992)
return date;
else
return false;
});

值 0.01995183087435 是用 51 周的毫秒数除以 52 周的毫秒数确定的,然后 1 减去该比率应该是“sevenDayDiff”变量。

我的 JSFIDDLE ,不幸的是,并没有完全正确。这有很多问题。我的 sevenDayDiff 可能是错误的值。还有闰年问题,即使我除以 365.25。我可能只是以错误的方式处理这件事。

这是在网络应用程序中进行的,因此管理员可以向 7 天内过生日的人发送电子邮件。欢迎任何提示或建议。

最佳答案

var bdates = ['1956-12-03', '1990-03-09', '1970-02-14'];

var now = moment('2015-02-10');
var birthDates = [];

bdates.forEach(function(birthDate) {
var birthDay = moment(birthDate).year(now.year());
var birthDayNextYear = moment(birthDate).year(now.year() + 1);
var daysRemaining = Math.min(Math.abs(birthDay.diff(now, 'days')), Math.abs(birthDayNextYear.diff(now, 'days')));

if((daysRemaining >= 0) && (daysRemaining <= 7)) {
birthDates.push(birthDate);
}
});

document.write(JSON.stringify(birthDates));
<script src="http://momentjs.com/downloads/moment.min.js"></script>

关于javascript - 获取1周内过生日的人列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35306090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com