使用方法
天月计算器把时长在「天」和「月」两种口径间互转,只要三步:
- 「换算方向」选 天数 → 月数 或 月数 → 天数,决定你输入的是哪一种。
- 在数值框填源值:天数方向填 0~100000 之间的天数(演示 90);月数方向填大于 0 的月数(演示 3)。
- 点「换算天月」,或在任一输入框按 Enter。三张卡片给换算值、反向校验与约定说明;下方对照表默认 12 行,「加载更多」补到 16 行,可导出 CSV / JSON 或复制 TSV。
- 想还原演示值按「载入示例」:方向天数→月数、数值 90、4 位小数。
天月计算器能解决什么
它把「按月说的时长换算成天」这件事变成一步读数,适合三类场景:
- 项目排期与账期:合同写「6 个月账期」,换算成 180 天 就知道距付款还有多少自然日;把月拆成天,排期更直观。
- 孕期与周期估算:医学常说「怀 9 月有余」,按约定约 270 天(对照表第 12 行);用本页把孕周对应的月快速转成天,便于记日程。
- 订阅与会员时长:会员「12 个月」即 360 天,比含糊的「一年」更准;退订按天折算时也能反向把剩余天数变回月数。
本页不做的事:不按真实日历月(大月 31、小月 30、二月 28)逐月累加;不考虑闰年与具体起止日期。它用固定 30 天/月的工程约定,适合估算而非法定账期精确计算。
原理和变量
① 用了哪个具体函数:核心是普通除法与乘法,月数 = 天数 / 30、天数 = 月数 × 30;小数位用 Number(v.toFixed(d)) 控制,浮点用 IEEE 754 双精度。
② 关键参数为什么这样取:用「1 月 = 30 天」而非真实平均 30.44 天,是因为 30 是整数、心算与对账最方便,也是财务与工程里最常见的约当口径;页面在 card3 同时标注「平均月约 30.44 天」以免误用。
③ 遵循哪个标准:30 天/月是业界通用的「约当月」约定(如某些账期、租赁的按月折算),并非历法标准。结果小数位由「小数位」输入决定,默认 4 位。
④ 输入怎么变成输出:演示 90 天,90 / 30 = 3 月;反向校验 3 × 30 = 90 天,与原值吻合。再例 6 个月:6 × 30 = 180 天。
⑤ 边界与阈值:天数与月数都限 0~100000;负数、空值、非数字逐项给具体提示后才继续。小数位固定 2~6,默认 4。toFixed 取指定位数,演示值的 3.0000 是 4 位小数。
⑥ 常见误用的正确解释:本页的「月」是 30 天的约当单位,不等于某个具体日历月;拿 1 月 31 天去套会差 1 天。需要精确自然日请用真实日期相减的工具,而不是固定 30 天约定。
完整示例(数值仅作演示)
保持演示值:方向天数→月数、天数 90、保留 4 位小数。
- 月数:90 / 30 = 3.0000 月。
- 反向校验:3 × 30 = 90.0000 天。
- 约定说明:1 月 = 30 天(平均月约 30.44 天)。
- 再举一例:月数方向填 6,应得 180.0000 天,与 6×30 一致。
- 若方向改为月数→天数,填 3 月应得到 90 天,与上面互逆。
这三组数字与页面默认卡片、对照表第 5 行(90 天)完全一致,可三处核对。
输入范围与对照表
天月计算器的对照表列出常用天数对应的月数,全部按 月数 = 天数 / 30 计算,保留 4 位小数。
| 天数 | 月数(4 位) | 约当说明 |
|---|---|---|
| 7 | 0.2333 | 约一周 |
| 15 | 0.5000 | 半月 |
| 30 | 1.0000 | 1 个月 |
| 45 | 1.5000 | 一个半月 |
| 60 | 2.0000 | 2 个月 |
| 90(演示值) | 3.0000 | 3 个月 |
| 120 | 4.0000 | 4 个月 |
| 150 | 5.0000 | 5 个月 |
| 180 | 6.0000 | 半年 |
| 210 | 7.0000 | 7 个月 |
| 240 | 8.0000 | 8 个月 |
| 270 | 9.0000 | 孕程约当 |
| 300 | 10.0000 | 10 个月 |
| 330 | 11.0000 | 11 个月 |
| 360 | 12.0000 | 1 年约当 |
| 400 | 13.3333 | 约 13 个月 |
对照表能直观看出「天数每加 30,月数加 1」:30→1、90→3、180→6、360→12,线性关系一目了然。
结果边界和舍入
舍入位置:月数与反向天数都按「小数位」输入框保留(默认 4 位,Number(v.toFixed(d)))。因为先 toFixed 再拼接,演示值不会出现 3.0000000000000004 这样的浮点尾巴。
什么时候会拒绝计算:数值为空、不是数字、或超出 0~100000 时;小数位不在 2~6 时。天数和月数都为 0 是允许的,此时结果均为 0,代表「零时长」。
单位和精度:本页「月」是 30 天的约当单位,不是日历月;若要更精确的法定天数,请用起止日期相减。小数位设 2 时 90 天显示 3.00 月,设 6 时显示 3.000000 月。
结果性质:这是固定约定的估算值,没算大月小月、闰年与具体日期,只作排期与对账的约当换算。
常见问题
为什么用 1 月 = 30 天,不是 30.44?
30 是整数,心算和对账最方便,也是财务工程常用的约当口径;页面已在卡片里标注「平均月约 30.44 天」。需要精确自然日请用真实日期相减工具。
1 月 31 天,为什么算出来差 1 天?
因为本页的「月」是 30 天的约当单位,不是某个具体日历月。若你拿 1 月(31 天)去套,自然差 1 天;这是约定口径差异,不是公式错。
小数位能改吗?
能,「小数位」限 2~6,默认 4。设 2 时 7 天显示 0.23 月,设 4 时显示 0.2333 月,按精度需要调节。
孕期 9 个月到底是多少天?
按本页约定 9 月 = 270 天(对照表第 12 行)。医学孕期常以 40 周计,约 280 天;两者约当口径不同,本页只给 30 天/月的估算。
天数上限为什么是 100000?
100000 天约 274 年,远超一般排期与账期;超过通常意味着单位填错(如把年当天)。限 100000 既能覆盖又不让输入框失去意义。
反向校验值有什么用?
它把换算结果再算回原单位,确认无误。演示 90 天 → 3 月 → 反向得 90 天,闭合一致;若你怀疑看错方向,校验值能立刻暴露。
0 天或 0 月算错了吗?
没算错。0 天即 0 月、0 月即 0 天,代表零时长,是数学上正确的退化情况,不是报错。
我的输入会被保存或上传吗?
不会。全部计算在浏览器内完成,刷新即清空;可在 Network 面板复查,点「换算天月」时没有任何请求发出。