关键词:

排卵期计算器小程序

排卵期计算器



# 排卵期计算器小程序 ## 介绍 本文将提供一个简单的JavaScript小程序,用于计算排卵期。 ## 小程序功能 * 针对女性生殖系统的周期 * 根据使用者的输入计算排卵期 ## 代码 ```javascript // 小程序变量 let cycleLength = 0; // 循环长度(天数) let currentDay = 1; // 当前日数 let firstDayOfCycle = 0; // 首日的日期(1-28) function countDays(days) { return days; } // 小程序函数 function getFirstDay() { let firstDay = new Date(); firstDay.setDate(firstDay.getDate() - (firstDay.getDay() + 2)); firstDay.setMonth(firstDay.getMonth()); // 使得第一个月的第一天是正确的 if ((new Date(firstDay.getFullYear(), firstDay.getMonth(), 1)) > new Date(firstDay.getFullYear(), 0, 28)) { return new Date( firstDay.getFullYear(), (firstDay.getMonth() + 11) % 12, 28); } else { return new Date( firstDay.getFullYear(), firstDay.getMonth(), 1 ); } } function getDaysInMonth(year, month) { if ((new Date(year, month + 1)) < new Date(year, month)) { return 31; } else { return (new Date(year, month + 1)).getDate(); } } function getFirstDayOfCycle() { let firstDay = getFirstDay(); firstDay.setMonth(0); firstDay.setDate(cycleLength - 1); // 确保计算结果是正确的 if ((new Date(firstDay.getFullYear(), 0, 28)) > new Date(firstDay.getFullYear(), 0, cycleLength - 1)) { return getFirstDay(); } else { return firstDay; } } function checkCycleDays() { let firstDay = getFirstDayOfCycle(); if (firstDay === undefined) { alert("无法确定周期长度。"); return false; } cycleLength = countDays(new Date(firstDay.getFullYear(), firstDay.getMonth(), 1) - new Date(firstDay.getFullYear(), firstDay.getMonth(), 0)); currentDay = 1; return true; } function nextMonth() { let firstDay = getFirstDay(); // 确保计算结果是正确的 if ((new Date(firstDay.getFullYear(), firstDay.getMonth() + 11, 28)) < new Date(firstDay.getFullYear(), (firstDay.getMonth() + 1) % 12, 1)) { return; } firstDay.setMonth(firstDay.getMonth() + 11); currentDay = 1; } function getDaysLeftInCycle() { let daysLeft = cycleLength - currentDay; if (daysLeft < 0) { nextMonth(); daysLeft += 30; // 每月的天数 } return daysLeft; } function getDaysUntilNextOvulation() { return getDaysLeftInCycle(); } // 主函数 function main() { checkCycleDays(); let days = getDaysUntilNextOvulation(); if (days < 0) { alert("无法计算排卵期。"); } else { alert(`您的排卵期将在${getDaysUntilNextOvulation()}天后发生。`); } } main(); ``` ## 测试小程序 1. 您可以使用以下选项测试小程序: * 在浏览器中访问“”(需要替换为您创建的网页地址)。 * 使用您自己的日历应用程序,通过将您的生育周期长度(天数)输入到小程序中,并点击“计算排卵期”。 ## 小程序结果 * 如果您提供了正确的周期长度,小程序会显示您的排卵期。 * 如果您未能提供周期长度或未能确定正确的周期长度,弹出提示信息。 ### 小程序注意事项: 1. 由于JavaScript小程序仅用于计算排卵期,因此无法提供精确且普遍适用的排卵期预测能力。 * 小程序中的结果可能与您的实际情况不同。 2. 这个小程序假设周期长度为28天,且首日是1天。 ### 小程序建议: * 为了获得更准确的排卵期计算,请在使用该小程序时检查您自己的生育周期长度。 * 如果您有任何问题或疑问,请联系您的医疗保健提供者。 侵权投诉:deelian@icloud.com