Pythonで2つの日付の間の日数を計算する方法を解説
Pythonでは、シンプルな日付演算を使うことで、2つの日付の間の日数を簡単に計算できます。日数の差を求めたい2つの日付を定義し、それらを引き算すると timedelta オブジェクトが得られます。このオブジェクトの days プロパティを参照することで、目的の日数を取得できます。
基本的な手順
datetimeモジュールからdateクラスをインポートします。- 差を求めたい2つの日付を
dateオブジェクトとして定義します。 - 2つの日付を引き算して
timedeltaオブジェクトを生成します。 daysプロパティの値を出力します。
サンプルコード
from datetime import date d0 = date(2017, 8, 18) d1 = date(2017, 10, 26) delta = d1 - d0 print(delta.days)
実行結果
上記のコードを実行すると、以下の出力が得られます。
69
解説
この例では、2017年8月18日から2017年10月26日までの差を計算しています。結果は69日となり、delta.days によって日数部分だけが整数値として取り出されます。
timedelta オブジェクトには日数以外にも、秒(seconds)やマイクロ秒(microseconds)などのプロパティがあります。日付同士の引き算の場合は時刻情報が含まれないため、days プロパティだけで完全な差分を表せます。
datetime型の場合の注意点
もし datetime オブジェクト(日付と時刻の両方を持つ)同士で差を計算した場合は、時間未満の端数が生じることがあります。その場合も days プロパティは「切り捨てられた日数」を返すため、必要に応じて total_seconds() メソッドなどと組み合わせて正確に計算してください。
-
Excelで2つの日付間のうるう年の数を計算する方法
企業、官公庁、イベント主催者などにとって、リストの中にうるう年がいくつ含まれているのかを把握しておくことは重要です。Excelで2つの日付の間に含まれるうるう年の数を確認したい場合は、ぜひこの記事をご覧ください。 うるう年は平年に比べてわずか1日多いだけですが、その影響はさまざまな計算に及びます。多くの企業では、うるう年かどうかによって給与計算が変わり、ビジネスの利益計算にも影響が出ることがあります。 Excelで2つの日付間のうるう年数を計算する Excelで2つの日付間のうるう年の数をカウントするには、次の数式を使用します。 =DATE(YEAR(<終了日のセル>),1,1)-
-
Pythonでディレクトリサイズを計算する方法:os.walkとduコマンドの使い方
ディレクトリのサイズを取得するには、ディレクトリツリー全体を走査し、含まれる各ファイルのサイズを合計する必要があります。これには、Python標準ライブラリの os.walk() 関数と os.path.getsize() 関数を組み合わせて使用します。 サンプルコード import os total_size = 0 start_path = . # カレントディレクトリのサイズを取得する場合 for path, dirs, files in os.walk(start_path): for f in files: fp = os.path.join(path