首页 > 解决方案 > 如何使用时间模块计算 Python 中两个日期之间的天数差?

问题描述

当我通过像 15-05-2020 和 16-06-2020 这样的日期时,它给出 2 但我想要 32 或 33

    date1 = v_parking_in_date = input('Please Enter the Parking Start Date in dd-mm-yyyy format :')
    date2 = v_parking_out_date = input('Please Enter the Parking Completion Date in dd-mm-yyyy format :')
    date_1 = time.mktime(time.strptime(date1, "%d-%m-%Y"))
    date_2 = time.mktime(time.strptime(date2, "%d-%m-%Y"))
    d = (date_2 - date_1)

标签: pythondatetime

解决方案


您可以使用datetime模块来计算两个日期之间的增量:

import datetime as dt
import time

date1 = input('Please Enter the Parking Start Date in dd-mm-yyyy format :')
date2 = input('Please Enter the Parking Completion Date in dd-mm-yyyy format :')
date_1 = dt.date.fromtimestamp(time.mktime(time.strptime(date1, "%d-%m-%Y")))
date_2 = dt.date.fromtimestamp(time.mktime(time.strptime(date2, "%d-%m-%Y")))
d = date_2 - date_1 # datetime.timedelta(days=32)

首先,通过使用,time.mktime您可以获得自您日期的纪元以来的秒数。然后通过使用datetime.date.fromtimestamp,您可以date在几秒钟内从此值创建一个对象。


推荐阅读