2025-09-10:仓库迁移
This commit is contained in:
38
3.数字日期和时间/12.时间换算.py
Normal file
38
3.数字日期和时间/12.时间换算.py
Normal file
@@ -0,0 +1,38 @@
|
||||
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)
|
Reference in New Issue
Block a user