使い方
2つの日付の差は、契約期間や滞在日数、付き合った日数などを数えるときに使います。差の日数、年月日での換算、そして初日を1日目として数えた「何日目」の3つを同時に出します。カウントダウンは目標の日までの残り日数で、過ぎている場合は経過日数を表示します。日付の加算は基準の日に日数を足した日付を曜日つきで出し、マイナスを入れれば過去にも遡れます。
そして西暦 ⇄ 和暦は、書類の日付を書き換えるときのためのものです。西暦の日付を入れれば和暦が、和暦を入れれば西暦が出ます。
差の日数と「何日目」が1日ずれる理由
この2つは違うものを数えています。差の日数は2つの日付の間隔で、終わりの日から始まりの日を引いた値です。1月1日と1月2日なら1日です。何日目は始まりの日を1日目に含めて数えるので、同じ組み合わせで2日目になります。いつも差の日数 + 1です。
どちらを使うかは場面で決まります。宿泊日数や利息の計算では間隔(差の日数)を使い、レンタルの日数、服薬の日数、連続記録の日数では両端を含める「何日目」を使います。付き合って100日、生まれて1000日といった記念日も後者です。100日目は初日に99日を足した日で、1月1日に始まったなら4月10日になります。
令和は西暦から2018を引く — ただし元年は例外
和暦と西暦の対応は引き算で覚えられます。
- 令和 = 西暦 − 2018(2026年 → 令和8年)
- 平成 = 西暦 − 1988(2018年 → 平成30年)
- 昭和 = 西暦 − 1925(1980年 → 昭和55年)
- 大正 = 西暦 − 1911(1920年 → 大正9年)
ただし元年は年の途中から始まるので、この引き算は改元の前後で崩れます。令和が始まったのは2019年5月1日なので、2019年1月1日から4月30日までは平成31年です。同じ2019年に平成31年と令和1年の両方があります。
だから平成31年5月1日は存在しません。その日はもう令和1年5月1日です。改元をまたぐ書類でよく起きる間違いなので、上の和暦欄にそういう日付を入れると存在しないことと正しい元号を表示します。同じことが昭和64年(1989年1月7日まで)と平成1年(1月8日から)の境目でも起きます。
年月日換算の考え方
年月日での換算は満年齢と同じカレンダー基準です。始まりの日から年を先に埋め、残った期間で月を埋めて、余りを日数として表示します。単純に年・月・日を桁ごとに引くと、1月31日から3月1日のような月末をまたぐ組み合わせで日数がマイナスになってしまうため、「月を先に埋めた基準日 + 残りの日数」という順で計算しています。
月の長さが違うので、月数の換算は基準によって1日程度ずれることがあります。厳密な日数が必要な場面では、月数ではなく差の日数を使ってください。
計算に使った基準
- 差の日数 = 終わりの日 − 始まりの日(カレンダー日数)· 何日目 = 差の日数 + 1
- 年月日換算 = 満年齢と同じカレンダー基準(年 → 月 → 残りの日数)
- カウントダウン = 目標の日 − 今日 · 当日は0、過ぎていればプラス表示
- 元号の開始日 = ブラウザ内蔵の日本暦データ(令和2019年5月1日 · 平成1989年1月8日 · 昭和1926年12月25日 · 大正1912年7月30日)