排卵期
经期周期→排卵窗口/易孕期
3 个月月历视图
受孕概率分布(排卵日 ±5 天)
未来 3 个周期预测
基础体温(BBT)双相曲线识别
每天早晨睁眼起床前测口腔 / 腋下温度,连续记录。排卵后黄体期体温升高 0.3-0.5℃, 升温前一天即为排卵日。下方输入 28 天数据自动绘图。
宫颈黏液(Billings 法)当前状态
点击下方 4 种状态中最接近当前白带形态的一种,自动判断是否易孕期。
今日身体症状(自动保存)
黄体期长度评估(LH 试纸法)
LH 阳性后 24-36h 排卵,从 LH 阳性日到下次月经第一天即黄体期。 正常 12-14 天,少于 10 天提示黄体功能不足,需就医评估。
同房后怀孕测算 · 早早孕检测时机
生男生女科学共识(破除民间迷信)
- 胎儿性别由父亲精子的 X / Y 染色体决定,与受孕时间、母亲饮食、酸碱体质、同房姿势无关
- "酸碱体质生男生女"已被证伪——人体血液 pH 严格维持 7.35-7.45,外源饮食改变不了体液酸碱
- "排卵日同房生男孩、排卵前 2 天生女孩"——Y 精子寿命短、活力强的假说缺乏大样本临床证据,世卫不推荐
- "清宫表 / 民间秘方"——伪科学概率约 50%,与抛硬币无差异
- 胎儿染色体性别在受精瞬间就已确定,孕期任何干预都改变不了,但孕妇任何禁忌依然要遵守
- 家庭责任:性别比失衡危害下一代,自然怀孕请接受任何性别;非医学需要的胎儿性别鉴定违法
使用说明 · 三法准确度对比
· 日历法:操作最简单,依赖月经规律;周期波动 > 7 天的人群误差大,仅作粗略参考
· 基础体温法:体温双相曲线最直观,但只能事后确认排卵(升温后 1-2 天);适合长期记录 + 找规律
· 宫颈黏液法:实时性最好;"蛋清拉丝" + 排卵痛 + LH 阳性 三征兆联合判断最准(综合准确率 85%+)
· LH 排卵试纸:尿液检测黄体生成素峰值,阳性后24-36 小时内排卵,是预测排卵最可靠的家用工具
· 最佳备孕同房:排卵日前 1-2 天 + 排卵日 + 排卵日后 1 天,共 4 天窗口
· 提醒:本工具仅作日常参考;备孕 1 年未孕(35 岁以上 6 个月)建议夫妇双方就医检查
关于本工具
了解工具定位 · 使用场景 · 对比优势
输入经期周期和末次月经日期,自动推算排卵窗口与易孕期。备孕女性、经期不规律者、想了解身体周期的人,可据此安排同房或避孕。所有计算在浏览器内完成,经期数据不上传服务器。
使用场景
备孕时机锁定
计划怀孕的夫妇面对“排卵日同房”的模糊建议,往往因时间不准而错过窗口。本工具根据最近 3-6 个月经周期长度自动推算排卵窗口(易孕期),并标注窗口内每日受孕概率相对高低,帮助将同房安排集中在高概率区间,减少盲目尝试带来的焦虑。
经期不规律跟踪
周期长度波动较大的女性(如 28-35 天不等),靠固定日历推算排卵往往误差 3-5 天。本工具支持输入多个历史周期长度,自动取中位数和标准差,给出一个“最可能排卵窗口”而非单日,同时提示窗口前后各 2 天为高概率区间,适应不规则周期。
备孕检查前规划
医生建议在排卵期前后做卵泡监测或激素六项检查,但检查预约需提前 3-5 天。本工具根据用户输入的末次月经和平均周期长度,提前 10 天给出“预计排卵窗口”,让用户能提前预约检查日期,避免因窗口错过而浪费一次检查周期。
短期旅行避孕提醒
情侣计划在特定日期出游,但不确定是否处于易孕期。本工具输入当前经期信息后,直接输出旅行日期是否落在排卵窗口内,若落在窗口则提示“建议采取避孕措施”,若在安全期则显示“受孕概率极低”,帮助快速做出旅行中的避孕决策。
多周期对比复盘
连续 3 个月备孕未果,想回顾每个周期的同房时间是否覆盖了排卵窗口。本工具支持保存多个周期的输入记录,在结果页直接对比各周期的窗口标注与实际同房日期,直观看到哪个月的同房时间偏离了窗口,为下个月调整时机提供数据依据。
对比矩阵本工具 vs 竞品 vs 传统方法
| 维度 | 本工具 | 竞品 A (Flo) | 传统方法 |
|---|---|---|---|
| 数据隐私 | 纯浏览器,零上传,数据不出本地 | 上传到服务器,需注册账号 | 依赖纸质记录或工作人员询问 |
| 处理速度 | 1 秒内出结果 | 需加载 App 并等待计算,约 3-5 秒 | 手动计算或查阅日历,约 5-10 分钟 |
| 离线可用 | 完全离线,断网可用 | 需联网同步数据 | 完全离线 |
| 注册要求 | 无需注册,打开即用 | 必须注册并登录 | 无需注册 |
| 收费模式 | 完全免费 | 基础免费,高级功能需订阅 | 免费(仅需纸笔) |
| 算法透明度 | 公开说明使用标准日历法(固定周期) | 算法不公开,依赖用户历史数据 | 完全透明,用户自行推算 |
| 适用场景 | 快速估算,无需记录历史 | 长期周期追踪,需持续记录 | 无工具时的应急推算 |
使用指南
上手步骤 · 输入输出 · 避坑提示
使用步骤
- 选择或输入最近一次月经开始日期、平均周期天数(21-35天)与经期天数(3-7天)
- 点击「计算排卵期」按钮,工具基于日历法推算排卵窗口与易孕期
- 查看结果:日历上标记排卵日(橙色)与易孕期(黄色),下方显示具体日期段
- 如需调整参数,修改任意输入值后重新点击计算按钮即可更新结果
输入输出示例7 个典型场景,覆盖常规、边界与易错
| 输入 | 输出 | 说明 |
|---|---|---|
| 28天周期,末次月经第一天:2025-03-01,经期5天 | 排卵窗口:2025-03-10 ~ 2025-03-14(易孕期:2025-03-08 ~ 2025-03-15) | 典型常规场景:28天标准周期 |
| 30天周期,末次月经第一天:2025-04-15,经期6天 | 排卵窗口:2025-04-26 ~ 2025-04-30(易孕期:2025-04-24 ~ 2025-05-01) | 常见周期长度:30天 |
| 21天周期,末次月经第一天:2025-05-01,经期4天 | 排卵窗口:2025-05-07 ~ 2025-05-11(易孕期:2025-05-05 ~ 2025-05-12) | 边界case:最短合法周期21天 |
| 35天周期,末次月经第一天:2025-06-10,经期7天 | 排卵窗口:2025-06-24 ~ 2025-06-28(易孕期:2025-06-22 ~ 2025-06-29) | 边界case:最长合法周期35天 |
| 28天周期,末次月经第一天:2025-02-28,经期3天 | 排卵窗口:2025-03-10 ~ 2025-03-14(易孕期:2025-03-08 ~ 2025-03-15) | 边界case:末次月经在2月28日(闰年/平年兼容) |
| 28天周期,末次月经第一天:2025-01-01,经期1天 | 排卵窗口:2025-01-10 ~ 2025-01-14(易孕期:2025-01-08 ~ 2025-01-15) | 边界case:最短经期1天 |
| 28天周期,末次月经第一天:2025-07-15,经期8天 | 排卵窗口:2025-07-24 ~ 2025-07-28(易孕期:2025-07-22 ~ 2025-07-29) | 边界case:最长经期8天 |
常见错误对照8 个常踩的坑 · 错误 → 修复
1. 把安全期当作绝对避孕手段
安全期=100%安全,不用避孕安全期避孕法失败率较高(典型使用年失败率约24%),建议配合其他避孕方式排卵受情绪、压力、疾病、药物等多种因素影响,可能提前或推迟。工具给出的是基于统计模型的预测,不是生理学上的绝对确定值。
2. 只记录一次周期长度就推算全年
上个月28天→以后每个月都是28天→全年排卵日都算好了连续记录3-6个月经周期后,再参考工具给出的平均周期和波动范围单次周期数据无法反映个体周期变异度。工具需要至少3次记录才能给出有统计意义的平均周期和排卵窗口。
3. 把排卵日精确到具体某一天
工具显示14号排卵→14号当天才同房在工具给出的易孕期窗口(通常排卵日前5天+后1天)内每隔1-2天同房排卵日预测误差通常±1-3天,精子在体内可存活5天。精确到某一天会错过实际排卵提前或推后的情况。
4. 忽略经期出血≠月经
把排卵期出血/着床出血当作月经第一天来记录确认是正常月经量(通常20-60ml)且持续2-7天的出血才记为经期第一天非经期出血(排卵期出血、着床出血、宫颈病变出血)会错误重置周期起点,导致整个排卵预测偏移。
5. 用排卵试纸阳性当天才同房
试纸强阳了→今晚同房(仅此一次)试纸转弱阳前持续同房,或结合工具窗口提前2-3天开始排卵试纸检测的是LH峰值,峰值后约24-36小时排卵。卵子排出后仅存活12-24小时,等到试纸阳性再同房可能已错过最佳时机。
6. 把基础体温升高当作排卵信号
今天体温升高了0.3℃→今天排卵体温升高发生在排卵后(孕激素升高),用于确认排卵已完成,不能预测基础体温(BBT)法是回顾性确认排卵的方法,升温当天卵子已排出或正在排出,不能用于提前安排同房。
7. 忽略药物对周期的影响
吃了紧急避孕药后按原周期推算排卵日停药后至少观察1-2个完整周期,或使用其他排卵监测方法(试纸/B超)紧急避孕药(左炔诺孕酮/米非司酮)会干扰排卵和内膜,导致周期紊乱。服药后1-2个周期的排卵预测不可靠。
8. 把工具预测当作医学诊断
工具显示不排卵→认为自己不孕工具预测仅供参考,持续6个月以上无排卵或周期异常应咨询妇科医生工具基于日历法/统计模型,无法诊断多囊卵巢综合征(PCOS)、卵巢早衰、甲状腺功能异常等病理性不排卵。
工作原理
公式推导 · 流程图解 · 依据出处
核心公式
排卵日 = 下次月经预计日 - 14天;易孕期 = [排卵日 - 5天, 排卵日 + 1天]
变量说明
排卵日— 卵子排出的日期下次月经预计日— 当前周期开始日 + 平均周期天数易孕期— 受孕概率最高的日期区间(窗口)
示例
用户周期平均 28 天,末次月经第 1 天为 2025-03-01。下次月经预计日 = 2025-03-29。排卵日 = 2025-03-29 - 14 = 2025-03-15。易孕期 = [2025-03-10, 2025-03-16],共 7 天。
适用范围
适用于周期规律(波动 ≤ 3 天)的育龄女性,基于 WHO 标准排卵模型(28 天周期黄体期固定 14 天)。周期不规律(多囊 / 围绝经期 / 哺乳期)误差大,建议结合基础体温或排卵试纸。
原理图
开发者集成
3 种主流语言 · 复制即用
from datetime import datetime, timedelta
def ovulation_window(cycle_length: int, last_period_start: str) -> dict:
"""
计算排卵窗口(易孕期)
:param cycle_length: 周期长度(天),通常 21-35
:param last_period_start: 末次月经开始日期,格式 YYYY-MM-DD
:return: 排卵日及易孕期范围
"""
start = datetime.strptime(last_period_start, "%Y-%m-%d")
# 排卵日 ≈ 下次月经前 14 天
next_period = start + timedelta(days=cycle_length)
ovulation_day = next_period - timedelta(days=14)
# 易孕期:排卵日前 5 天 + 后 1 天
fertile_start = ovulation_day - timedelta(days=5)
fertile_end = ovulation_day + timedelta(days=1)
return {
"ovulation_date": ovulation_day.strftime("%Y-%m-%d"),
"fertile_window": f"{fertile_start.strftime('%Y-%m-%d')} ~ {fertile_end.strftime('%Y-%m-%d')}"
}
# 示例:周期 28 天,末次月经 2024-01-01
result = ovulation_window(28, "2024-01-01")
print(result)
# {'ovulation_date': '2024-01-15', 'fertile_window': '2024-01-10 ~ 2024-01-16'}
package main
import (
"fmt"
"time"
)
// OvulationWindow 计算排卵窗口(易孕期)
func OvulationWindow(cycleLength int, lastPeriodStart string) (string, string, error) {
start, err := time.Parse("2006-01-02", lastPeriodStart)
if err != nil {
return "", "", err
}
// 排卵日 ≈ 下次月经前 14 天
nextPeriod := start.AddDate(0, 0, cycleLength)
ovulationDay := nextPeriod.AddDate(0, 0, -14)
// 易孕期:排卵日前 5 天 + 后 1 天
fertileStart := ovulationDay.AddDate(0, 0, -5)
fertileEnd := ovulationDay.AddDate(0, 0, 1)
return ovulationDay.Format("2006-01-02"),
fmt.Sprintf("%s ~ %s", fertileStart.Format("2006-01-02"), fertileEnd.Format("2006-01-02")),
nil
}
func main() {
// 示例:周期 28 天,末次月经 2024-01-01
ovulation, window, err := OvulationWindow(28, "2024-01-01")
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Printf("排卵日: %s\n易孕期: %s\n", ovulation, window)
// 排卵日: 2024-01-15
// 易孕期: 2024-01-10 ~ 2024-01-16
}
/**
* 计算排卵窗口(易孕期)
* @param {number} cycleLength - 周期长度(天)
* @param {string} lastPeriodStart - 末次月经开始日期,格式 YYYY-MM-DD
* @returns {{ ovulationDate: string, fertileWindow: string }}
*/
function ovulationWindow(cycleLength, lastPeriodStart) {
const start = new Date(lastPeriodStart);
// 排卵日 ≈ 下次月经前 14 天
const nextPeriod = new Date(start);
nextPeriod.setDate(start.getDate() + cycleLength);
const ovulationDay = new Date(nextPeriod);
ovulationDay.setDate(nextPeriod.getDate() - 14);
// 易孕期:排卵日前 5 天 + 后 1 天
const fertileStart = new Date(ovulationDay);
fertileStart.setDate(ovulationDay.getDate() - 5);
const fertileEnd = new Date(ovulationDay);
fertileEnd.setDate(ovulationDay.getDate() + 1);
const fmt = (d) => d.toISOString().slice(0, 10);
return {
ovulationDate: fmt(ovulationDay),
fertileWindow: `${fmt(fertileStart)} ~ ${fmt(fertileEnd)}`
};
}
// 示例:周期 28 天,末次月经 2024-01-01
console.log(ovulationWindow(28, "2024-01-01"));
// { ovulationDate: '2024-01-15', fertileWindow: '2024-01-10 ~ 2024-01-16' }
常见问题
8 个高频疑问