時間/数値

日付差計算ツール

2つの日付/時刻の正確な差 — 暦での内訳(年、月、日…)、合計期間、営業日数。


                    

This tool calculates the exact difference between two dates and times: a calendar breakdown in years, months, and days, a total duration in a single unit (just days or hours), and separately, the number of business days excluding weekends.

How to use it

Common uses

Things to keep in mind

A calendar difference (years/months/days) depends on the actual dates involved — months have different lengths, so "1 month" can mean anywhere from 28 to 31 days.

The business-day count only excludes Saturday and Sunday — public holidays need to be subtracted manually if they matter for your calculation.

このツールに関する記事: 日付の差:日数を数えることが見た目より複雑な理由

よくある質問

差分は終了日を含めて計算されますか、それとも含めずに計算されますか?

このツールは2つの時点間の天文学的な差分(含めない)を計算します — つまり「1日から3日まで」は2日を返し、3日ではありません。両方の日付を含むカレンダー日数が必要な場合は、1日を加えてください。

長さの異なる月や年はどのように扱われますか?

カレンダー差分(年/月/日)は、人がカレンダーで数えるのと同じ方法で計算されます: まず実際の長さを考慮して完全な年と月を引き、残りを日数で表します。

「営業日」とは何を意味しますか?

選択した期間内の月曜日から金曜日までの日数です。祝日は国によって異なるため考慮されません。

短い月の境界で、ツールによって月の差の計算結果が異なることがあるのはなぜですか?

前の月に存在しない日付から1ヶ月を引く場合(例えば3月31日マイナス1ヶ月)、これは曖昧です——一部のライブラリは2月の最終日に丸め、別のライブラリははみ出た日数を3月の初めに繰り越します。どちらのアプローチも理にかなっていますが、結果が異なります。

1970年以前の過去の日付の差も計算できますか?

はい、計算はUnixエポックに制限されておらず、1970年より前の日付を含むあらゆる暦日について正確に動作します。

記事: 時間/数値

Unix時間:コンピュータが1970年から時間を数える理由

1970年1月1日がほとんどのコンピュータシステムにとって時間の基準点になった理由。

Cron式:タスクのスケジュールを読み解く方法

*/15 * * * *のような式を読み解き、タスクが正確にいつ実行されるかを知る方法。

数値システム:2進法、8進法、16進法が存在する理由

CSSの色#FF5733が10進数ではなく16進数の桁で書かれる理由。

ビット演算:AND、OR、XORがビットレベルでどう動作するか

ビットAND が論理ANDとどう違うか、そしてなぜ数値の個々のビットを操作する必要があるのか。

年齢計算:単純な年の引き算ではない理由

単純に生まれた年を引き算すると、実際より1歳多い年齢になることがある理由。

タイムゾーン:UTCがGMTと同じではない理由

UTCが年に2回変わることはないのに、ロンドン時間(GMT/BST)は変わる理由。

時間計算:時間・分・秒を正しく合計する方法

分と秒を足すとき、10進法の足し算と同じように余りを次の桁に「繰り上げ」なければならない理由。

ISO 8601 Duration:標準フォーマットで時間の長さを書く方法

PT1H30Mが「1時間30分」を意味し、「1分30時間」を意味しない理由。

週番号:国によって週の数え方が異なる理由

ISO 8601標準では1月1日が前年の第52週または第53週に属することがある理由。

ローマ数字:ゼロも位取りもないシステムの仕組み

IVが6ではなく4を意味する理由と、ローマ数字における減算のルールの仕組み。

IEEE 754:コードで0.1 + 0.2が0.3にならない理由

ほとんどすべてのプログラミング言語で0.1 + 0.2が0.30000000000000004と表示される理由。

数字を言葉に:数字を単語に変換する理由

銀行文書が金額を数字と言葉の両方で同時に書く理由。