孕周计算器

把末次月经首日换成「几周几天」,再把预产期和任意孕周落回具体日期上——两个方向在同一页里走完。

提示:三个输入框里按 Enter 都会直接重算;日期只在你本机做整数天加法,不发送到服务器。

使用方法

  1. 在「末次月经首日」里选那一次月经开始的第一天,不是结束那天。默认已经填好示例值 2026-01-01。
  2. 在「参考日期」里填你想查的那一天,默认是示例值 2026-10-01;想查今天就把这里改成今天,卡片第一行会跟着变。
  3. 在「目标孕周」里填一个整数周,默认 20,允许 0~42。它是反推方向的输入:给定周数,让工具告诉你那一天是几月几号。
  4. 点「计算孕周」,或者在任意输入框里按 Enter,四张卡片立刻刷新:参考日期的孕周(整周 + 余天)、预产期、距预产期天数、目标孕周对应的日期。
  5. 再往下是孕周 4~42 周的日期对照表,每 2 周一档共 20 行,默认显示 12 行,点「加载更多」补齐;「导出 CSV」得到带 BOM 的表格,「复制对照表」把整表以制表符放进剪贴板,可以直接粘进 Excel。

这个孕周计算器能解决什么问题

一是把「今天是几周几天」一次说清。产检本、请假单、母子健康手册上要填的其实是同一个数,但每次都得自己数:从末次月经首日往后数满整周,余下的零头单列。孕周的规范写法是「整周 + 天」,比如 39 周 0 天、24 周 3 天。本页直接给出这个格式,省掉拆算。

二是预产期与孕周的双向换算。顺着算,知道末次月经首日就得到预产期;倒着算,给定一个孕周就得到它落在哪一天。这两件事朝着相反方向用同一个式子,本页把它们放在同一组控件里,不用中途换公式。

三是把常见的时间点落到日历上。12 周、20 周、28 周、37 周这些数字在产检单上反复出现,但「12 周是几月几号」每次都要重数一遍。对照表把它们一次列全,20 行覆盖 4 周到 42 周。

四是避免把孕周与受孕天数混为一谈。孕周从末次月经首日起算,受孕通常发生在两周之后,两者天然差着大约 14 天。口径用错,所有日期会整体偏移两三周,而且偏得很隐蔽——看上去只是「差几天」。

本页不做这些事:不判断胎儿发育是否正常、不给产检项目清单、不做超声头臀长(CRL)校正、不推算受孕日与同房时间。需要后面几项的,交给产科医生。

计算原理:孕周怎么数、预产期怎么反推

孕周的定义只有一个减法。设末次月经首日为 L、参考日期为 R,先求两者之间的整数天数 d = R − L,再令孕周 = Math.floor(d / 7) 周 + d % 7 天。取整周用 Math.floor,取零头用取余,两步都是整数运算,不做四舍五入。默认值为例:2026-01-01 到 2026-10-01 正好 273 天,273 ÷ 7 = 39 余 0,所以是 39 周 0 天。

为什么锚点是 280 天而不是 266 天。40 周 × 7 = 280 天,这是 WHO 与 ACOG 采用的预产期口径。另一套常被引用的数字是 266 天,那是「从受孕到分娩」的平均时长;两者相差 14 天,正是因为末次月经首日到受孕之间那两周也被计入了孕周。所以孕周 20 周的人,实际受孕大约只有 18 周——这个差值不是误差,是定义本身带来的。

三个方向的公式其实是同一个。顺推预产期:L + 280。由孕周反推日期:L + 7 × 目标孕周。由预产期反推末次月经首日:预产期 − 280。三条都只是「整数天加法」加一个乘 7,只要口径一致,正推与反推必然互相对上。本页第四张卡片走的就是第二条,第一张卡片走的是除法那一半。

为什么「周 + 天」的零头不能丢。39 周 6 天与 40 周 0 天只差一天,却分属两个区间;只写「39 周」会把后面六天的信息抹掉。孕周每差 1 周等于 7 天,每差 1 天就是 1 天,两者不能互换。本页卡片与对照表全部保留「周 + 天」或明确的日期,就是为了不丢这个零头。

日期运算全部走 UTC。实现时先把日期串按 /^(\d{4})-(\d{2})-(\d{2})$/ 解析成年、月、日三个整数,用 Date.UTC 组装成零时区时间戳,再用毫秒数加减 86400000 的整数倍,输出时同样按零时区格式化。这样跨闰年 2 月 29 日、跨年、或者换个时区打开页面,结果都不会差一天。抽查两例:末次月经首日 2024-02-29 加 280 天得到 2024-12-05;末次月经首日 2025-12-20 加 280 天得到 2026-09-26,一个跨过闰日、一个跨过年。

本页刻意不做个人化修正。公式里的 280 天默认按 28 天标准情形理解,不叠加任何偏移项。如果你的周期长年不规律,或者走的是辅助生殖路径(按胚胎移植日推算),产科会用早孕期超声的头臀长反推,8~13 周那一次最准,其结论优先级高于本页。本页只给标准口径的数字。

标准与口径:日期格式采用 ISO 8601 的 YYYY-MM-DD;孕周的书写规范来自产科病历惯例,即「整周 + 余天」;40 周与 280 天来自 WHO 与 ACOG 的通用口径。三者都不是本页自创的。

完整示例(数值仅作演示)

示例条件与这个孕周计算器打开时的默认值完全一致:末次月经首日 2026-01-01、参考日期 2026-10-01、目标孕周 20 周。

把参考日期改成 2026-05-21、其余不动,卡片第一行会变成 20 周 0 天,正好与第四张卡片对上——这两张卡片本来就是同一个式子朝两个方向读的结果。对照表里「20 周」那一行显示 2026-05-21 至 2026-05-27,与控件默认值和本段文字用的是同一组数字,可以互相核对。

孕周与日期对照表

下表固定末次月经首日为默认示例 2026-01-01,逐档列出孕周 4~42 周(每 2 周一档,共 20 行)的该周首日、该周末日与距末次月经首日的天数。「该周首日」指该孕周的 0 天,「该周末日」指该孕周的 6 天,两者相隔整 6 天。

孕周该周首日(X 周 0 天)该周末日(X 周 6 天)距末次月经首日备注
4 周2026-01-292026-02-0428 天—
6 周2026-02-122026-02-1842 天—
8 周2026-02-262026-03-0456 天—
10 周2026-03-122026-03-1870 天—
12 周2026-03-262026-04-0184 天早期筛查窗口参考点
14 周2026-04-092026-04-1598 天—
16 周2026-04-232026-04-29112 天—
18 周2026-05-072026-05-13126 天—
20 周2026-05-212026-05-27140 天系统超声参考点
22 周2026-06-042026-06-10154 天—
24 周2026-06-182026-06-24168 天—
26 周2026-07-022026-07-08182 天—
28 周2026-07-162026-07-22196 天进入孕晚期
30 周2026-07-302026-08-05210 天—
32 周2026-08-132026-08-19224 天—
34 周2026-08-272026-09-02238 天—
36 周2026-09-102026-09-16252 天—
38 周2026-09-242026-09-30266 天—
40 周2026-10-082026-10-14280 天预产期 40 周 0 天
42 周2026-10-222026-10-28294 天过期 42 周 0 天

孕周与天数是严格的线性关系:每往后一周,日期就往后推 7 天。从 4 周到 42 周跨越 266 天,整整 38 周;表中「距末次月经首日」一列也从 28 天一路涨到 294 天。所以只要拿到末次月经首日,任何一个孕周落在哪一天都可以直接读表,不必反复算。反过来也成立:哪天是几周几天,拿日期减一下就出来了。

输入范围、边界与精度说明

常见问题

孕周和受孕天数是一回事吗?

不是,两者相差大约 14 天。孕周从末次月经首日起算,受孕一般发生在两周之后;按 WHO 与 ACOG 的口径,预产期是末次月经首日加 280 天,而不是受孕后 280 天。所以本页给出的 20 周 0 天,对应实际受孕大约只有 18 周。

为什么我算出的孕周和超声报告差几天?

多半是口径不同。本页按末次月经首日的 280 天口径推算;超声测量的是胎儿实际大小,在 8~13 周通过头臀长(CRL)反推出的孕周,误差通常比回忆末次月经首日更小,所以产科会把超声结论作为准。两者差几天属于常见情况,以临床结论为准。

怎么由孕周反推具体日期?

把「目标孕周」填成你要的整数周,卡片第四行就是答案,公式是末次月经首日 + 7 × 孕周。以默认的 2026-01-01 为例,20 周 0 天落在 2026-05-21,28 周 0 天落在 2026-07-16,40 周 0 天正好是预产期 2026-10-08。

孕周为什么写成「39 周 0 天」而不是「39 周」?

因为零头有临床意义。39 周 6 天与 40 周 0 天只差一天,却分属两个区间;只写整周会把后面六天丢掉。孕周每差 1 周等于 7 天,写法上把周和天分开,换算时才不会出错。本页所有输出都保留「周 + 天」或直接给出日期。

跨年或者闰年会把日期算错吗?

不会。这个孕周计算器把日期解析成年、月、日三个整数后用 Date.UTC 组装成零时区时间戳,再按 86400000 毫秒的整数倍加减,最后按零时区格式化。末次月经首日 2024-02-29 加 280 天得到 2024-12-05,2025-12-20 加 280 天得到 2026-09-26,跨闰日与跨年都正常。

想要某一个孕周的产检时间,用这张表够吗?

够用来定位日期,但不够用来安排项目。对照表只回答「12 周是哪一天」这类问题,具体做什么检查、隔多久复查,由产科按个人情况决定。表中备注一栏只是为了标注参考点,不是产检清单。

已经过了预产期还能算吗?

能。把参考日期填成当天,孕周会超过 40 周,卡片第三行的标题从「距预产期」变成「已超过预产期」,数字是超出天数。公式本身不设上限,只有年份 2100 的硬边界。至于 41~42 周之间怎么处理,属于临床判断,本页不介入。

我填的日期会被上传或保存吗?

不会。这个孕周计算器全部在浏览器本地做整数天加法,没有任何网络请求,也不写入浏览器存储;刷新页面后输入框会回到默认的 2026-01-01、2026-10-01 与 20 周。想验证可以打开开发者工具的 Network 面板,点几次「计算孕周」看有没有请求发出。

相关工具