通过MCP连接 →

输入计算

数学公式

广告

结果

结果日期时间
2024-06-15 11:40:30 (Saturday)
Day of week: Saturday
结果年 2024
结果月 6
结果日 15
结果时 11
结果分 40
结果秒 30
星期几 Saturday

这个计算器有什么用

本工具以一个起始日期和时间为基准,按天、时、分、秒为单位向后加上(或向前减去)一段时长,随后给出结果对应的公历日期、时钟时间和星期几。计算采用外推格里高利历(proleptic Gregorian calendar),并将每分钟严格按 60 秒处理(不考虑闰秒)。整套算法是通用的;可选的"年号"下拉框只是方便你用日本年号(明治、大正、昭和、平成、令和)来填写年份,系统会先把它换算成公历(公元)年份再进行计算。

使用方法

先选择年号(普通年份保持"公元(西历)"即可),然后填写起始的年、月、日、时、分、秒。接着选择方向:"向后(+)"表示时间向前推移,"向前(-)"表示时间往回推。再输入要加减的天、时、分、秒,用不到的字段保留为 0 即可。提交后即可看到结果时间戳和对应的星期几。

计算原理

系统先把起始日期换算为儒略日数(Julian Day Number,简称 JDN),这是一种连续的天数计数。再把该天数与当天的时间合并成总秒数。然后加上带正负号的经过秒数,最后用向下取整除法把总数重新拆分成天数和当天时间——这样即使是负向偏移(跨越午夜、月份或年份边界的减法)也能得到有效的日期。接着再把 JDN 换算回公历的年、月、日,星期几则直接由 JDN 推算得出。

$$\begin{gathered} T_{\text{result}} = T_{\text{start}} + \text{Dir} \cdot \Delta \\[1.5em] \text{where}\quad \left\{ \begin{aligned} Y &= \text{Era} + \text{Year} \\ T_{\text{start}} &= \text{JDN}(Y,\,\text{Mon},\,\text{Day}) \cdot 86400 \\ &\quad + 3600\,\text{Hr} + 60\,\text{Min} + \text{Sec} \\ \Delta &= 86400\,\text{Days} + 3600\,\text{Hrs} \\ &\quad + 60\,\text{Mins} + \text{Secs} \end{aligned} \right. \end{gathered}$$

数轴显示在起始日期时间上加上一段经过时间,得到结果日期时间
经过的时间被换算为秒,并加到(或从中减去)起始时刻。

实例演示

起始时间为 2024-06-15 00:00:00,方向为"向后",经过时长为 0 天 11 小时 40 分钟 30 秒。2024-06-15 对应的 JDN 为 \(2{,}460{,}477\)。加上 \(42{,}030\) 秒后仍是同一天,时间变为 11:40:30。最终结果是 2024-06-15 11:40:30,当天是星期六。

$$11 \cdot 3600 + 40 \cdot 60 + 30 = 42{,}030 \ \text{s}$$

将一段时长分解为天、时、分、秒,并合并为总秒数
天、时、分、秒各自换算并合并为以秒为单位的总和。

常见问题

能正确处理闰年吗? 可以。儒略日数的换算会自动套用完整的格里高利历闰年规则。

可以做减法(往回算)吗? 可以。选择"向前(-)",系统就会减去整段时长,并正确地跨天、跨月、跨年往回回退。

那时区和夏令时呢? 本计算是一个纯粹的日历时刻,不做任何时区或夏令时调整,因此结果是确定且可复现的。

最后更新: