from datetime import timedelta, datetime if __name__ == '__main__': # 使用timedelta表示时间间隔 a = timedelta(days=2, hours=6) b = timedelta(hours=4.5) c = a + b print(c.days) # 这是计算小时的秒数 print(c.seconds) # 这是计算天+小时的秒数 print(c.total_seconds()) # 如果要创建特定的日期和时间,可以用datetime来表示 time1 = datetime(2024, 8, 28) birthday = datetime(2001, 4, 29) life_time = time1 - birthday print(life_time.days) now = datetime.now() print(now) # 值得注意的是,datetime模块可以正确处理闰年的二月并计算出正确的天数,我的评价是我直接不管 # 对绝大部分的问题,datetime模块已经足够使用,但是如果需要处理复杂时间问题,比如时区、模糊时间范围、计算节日日期等 # 请他娘的使用dateutil模块 a = datetime(2012, 9, 23) # 很明显,因为timedelta没有month这个key,所以我们不能直接加一个月,它的精度最大只到days # 这时候dateutil下的relativedelta就派上用场 from dateutil.relativedelta import relativedelta b = a + relativedelta(years=10, months=2) print(b) # 包括计算日期差 d = relativedelta(b, a) print(d.years, d.months, d.days)