日付計算機
日数差・日付計算・年齢・カウントダウンの四合一。入力即計算で、すべてブラウザ内で完結し送信しません。
两个日期相差多少
日期计算最常见的几种场景
算工龄、租期、项目周期、孕周、还款日。日常里要数天数的场合,几乎都能归成三类:① 知道首尾两天,问「一共多少天」——入职到离职、起租到退租、合同签订到到期;② 知道开始日与一段时长,问「到哪天」——今天起 90 天后的还款日、签约日加 24 个月后的到期日;③ 知道出生日期或起始日期,问「现在多少岁 / 过去了多久」。本页把这三类做成了四个模式,输入即算,不需要点「计算」按钮,改一个数字结果就跟着变。
「含首尾」和「不含首日」为什么差一天。同一个区间,天数有两种同样常见的数法:含首尾是把开始日和结束日都算进去(1 日到 3 日 = 3 天,这是请假、住院、工期最常见的口径);不含首日只算「从开始日之后到结束日」,也就是把开始日当作第 0 天(1 日到 3 日 = 2 天,这是「过了几天」「间隔几天」的口径)。两者永远刚好差 1 天,本页两个数都给出,你按自己场景挑——写进合同或表格前,务必和对方确认是哪一个口径,这是日期纠纷里最常见的一处误会。
工作日为什么不是「天数减去周末」。本页的工作日只排除周六与周日,用整周 5 天加零头的方式精确计数,所以哪怕区间里跨月、跨年、跨闰年也不会数错。但要特别注意:它不包含法定节假日,也不计算调休上班。中国每年的放假安排由国务院办公厅单独发布,元旦、春节、清明、劳动节、端午、中秋、国庆的具体日期与调休补班日年年不同,有的年份还会有临时调整。任何不在线更新这张表的工具,只要硬编码节假日就一定会过期;与其猜错,不如明确告诉你「这里只扣周末」。所以涉及法定假日的工期、账期,请在本页结果上再手工扣掉这几天(或去查当年的放假通知)——「还剩 10 个工作日」在本页的准确含义是「还剩 10 个周一至周五」。
月份加减的「月末溢出」是怎么处理的。日期加减天、周永远不会有歧义,但加减「月」和「年」会碰到一个绕不开的问题:1 月 31 日加 1 个月是 2 月几日?2 月根本没有 31 日。常见的处理有三种——夹到当月最后一天(2 月 28/29 日)、往后溢出到下个月(3 月 2/3 日)、或直接报错。本页统一采用夹到当月最后一天,这也是 Excel 的 EDATE 函数、多数银行账期与合同期限计算采用的规则:3 月 31 日减 1 个月 = 2 月 28/29 日,8 月 31 日加 1 个月 = 9 月 30 日,闰年 2 月 29 日加 1 年 = 次年 2 月 28 日。它有一个必然的副作用:29/30/31 日出生的人,生日前的那个月按此规则会落到 28 日附近,看起来「少了一天」;这不是算错,而是规则本身如此。你如果用的是别的口径(例如到期日顺延到 3 月 1 日),请在本页结果上手工调整一天。
年龄:周岁与虚岁为什么差一岁。周岁(法律、证件、入学、退休都用它)按「过生日才长一岁」计算,生日当天即长一岁,生日前一天都还差一天。虚岁在民间是另一套算法,且各地各家用得并不统一;本页给的是最常见的简式口径:出生即 1 岁,此后每跨一次公历新年加 1 岁(所以年末出生的人在春节前后就已「2 岁」)。民俗里更讲究的算法以农历新年(春节)为分界,个别地区还有以立春为界的说法,因此本页的虚岁可能与长辈的说法差 1 岁——它只适合用来理解说法差异,不适合填表。生肖同理,本页按公历年给出,若以立春或春节为界会有不同结果,页面已标注,请勿当作唯一答案。
为什么不上传到服务器。日期计算不需要任何后端能力,本页的核心计算全部是一段纯 JavaScript 函数,在你打开的这个页面里执行,输入框里的内容不会离开你的设备(打开浏览器开发者工具的 Network 面板可以看到整页没有任何提交请求)。这也是本页唯一会「记住」东西的地方:倒数日模式把目标日期与事件名写进网址的 # 片段,方便你收藏或分享,而 # 之后的内容浏览器不会发送给服务器,页面本身也不读取你的姓名、手机号或任何其它信息。
よくある質問
始まりの日 1 日分の差だけです:含む方=末日−初日+1、含まない方=末日−初日。「何日を占有したか」の場面——1 日から 3 日の休暇、3 日間の入院、3 日間の工期——は含む方、「何日空いたか」「何日たったか」「今日から何日か」は含まない方。本ページは 2 つの数を並べて表示し、ルールを数字の横に書いてあります——誤った基準をコピーすることがないように。
本ページ(Excel の EDATE や銀行・契約の多数派と同じ)は「当月の最後の日まで寄せる」方式だからです——相手月に 31 日が無ければ、その月が用意できる最も遅い日を取ります。平年 28 日・閏年 29 日;同様に 3 月 31 日引く 1 カ月=2 月 28/29 日、8 月 31 日足す 1 カ月=9 月 30 日、閏年 2 月 29 日足す 1 年=翌年 2 月 28 日。「満了日は必ず翌月 1 日へ」「月末へ前倒し」というルールなら、この結果に手で 1 日調整してください——本ページが基準を勝手に変更することはありません。
祝日スケジュールは毎年政府が別途発行し臨時調整もあり、ローカルツールで常に正しい保証はできず——古い表を埋め込むのは無いより危険です。本ページの営業日は厳密に「区間内の月曜から金曜」で、丸 1 週間 5 日+端数のアルゴリズムで正確に数え、月跨ぎ年跨ぎの影響を受けません。正確な工期が必要なら、本ページの結果から法定祝日を手で差し引き、振替出勤日を足してください。
本ページの数え歳は簡式基準です——出生で 1 歳、以後グレゴリオ元日(1 月 1 日)を跨ぐたび +1。民俗では旧暦の正月(春節)を境にする算法がより通行し、立春を境とする説もあり——だから年末生まれは春節の前後で年配の方と 1 歳ずれます。満年齢(誕生日当日に 1 歳)が証明書・入学・退職の基準であり、本ページは満年齢を主結果としています。
目標日とイベント名だけ——URL の # の後に #d=2026-06-07&t=試験 の形で書きます。# 以降はブラウザからサーバーへ送信されず、ページも他の情報を一切読みません。リンクごと送れば相手も同じカウントダウンを開きます;イベント名を空にすれば日付だけのリンクになります。
入力欄の下でその場で「日付が存在しません」と通知し、結果欄の更新を止めます——3 月 2 日に化ましてそのまま計算を続ける、はしません。ピッカーも通常そんな日は選べませんが、手入力やスクリプト入力でも同じ検証で止まります。全日付はローカル時間(端末のタイムゾーン)で構築・比較し UTC を経由しないため、1 日ずれることもありません。