Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python – หาจำนวนวันระหว่างสองวันที่ (Days Between Two Dates)

ภาพรวม

ใช้โมดูล datetime คำนวณความต่างระหว่างสองวันที่ ได้ผลลัพธ์เป็นจำนวนวัน

ตัวอย่างโค้ด


from datetime import date

date1 = date(2021, 7, 20)
date2 = date(2021, 8, 30)

print("Date 1 =", date1)
print("Date 2 =", date2)

diff_days = (date2 - date1).days
print("Days between two dates =", diff_days)

ผลลัพธ์

Date 1 = 2021-07-20
Date 2 = 2021-08-30
Days between two dates = 41

คำอธิบาย

  • date object แทนวันที่ (ปี, เดือน, วัน) ไม่มีเวลา
  • การลบ date2 - date1 คืน timedelta object
  • .days attribute ให้จำนวนวันเต็ม
  • รองรับ negative result หาก date1 > date2

ขยายความสามารถ


from datetime import datetime, timedelta

# รวมเวลา
dt1 = datetime(2021, 7, 20, 10, 30)
dt2 = datetime(2021, 8, 30, 15, 45)
diff = dt2 - dt1
print(diff.days)        # 41 days
print(diff.seconds)     # seconds within the day
print(diff.total_seconds()) # total seconds

# เพิ่ม/ลบวัน
future = date1 + timedelta(days=30)
past = date1 - timedelta(weeks=2)

# Business days (ต้องใช้ numpy.busday_count หรือ custom logic)
import numpy as np
np.busday_count(date1, date2)

Pandas Version


import pandas as pd
d1 = pd.Timestamp('2021-07-20')
d2 = pd.Timestamp('2021-08-30')
print((d2 - d1).days)  # 41