简单的日期与时间转换
今天总结一下Python下,执行时间与日期的转换,如小时到分钟,天到秒等的转换。
1. 时间单位的转换与计算
在这里我们可以使用 Python中的内置模块datetime中的datedelta类。
- 为了方便理解,实例两个对象a,b,如:
>>> from datetime import timedelta
>>> a = timedelta(days=5, hours=3)
>>> b = timedelta(hours=2.33)
>>> c = a + b
>>> c.days
5
>>> c.seconds # 这里的seconds为不计算天数,剩余 hours 转换的 秒数
19188
>>> c.seconds//3600
5
>>> c.total_seconds()//3600 # 这里的second为包含 days 与 hours的 总秒数
125.0
2. 表示指定的日期与时间
先创建一个 datetime 实例然后使用标准的数学运算来操作它们。比如:
>>> from datetime import datetime, timedelta
>>> a = datetime(2020, 8, 4)
>>> print(a + timedelta(days=20)) # 20天后的日期
2020-08-24 00:00:00
>>>
>>> b = datetime(2020, 2, 22)
>>> d = b - a # 距离目标时间差的天数
>>> d.days
-164
>>>
>>> now = datetime.today() # 此时此刻的时间
>>> print(now)
2020-08-04 20:07:34.560005
>>>
>>> print(now + timedelta(minutes=11)) # 11分钟后的时间
2020-08-04 20:18:34.560005
>>>
- 值得一提的是,在计算的时候,这里的datetime 会 自动处理闰年。
>>> from datetime import datetime
>>> a = datetime(2019, 3, 1)
>>> b = datetime(2019, 2, 28) # 2019年不是闰年
>>> a - b
datetime.timedelta(days=1)
>>>
>>> (a - b).days
1
>>>
>>> c = datetime(2020, 3, 1)
>>> d = datetime(2020, 2, 28) # 2020年为闰年
>>> (c - d).days
2
>>>
Python中的datetime模块,可以解决基本的日期与时间转换问题,在日常学习作业过程中,可以灵活运用,从而提高效率。
好了,非常感谢小伙伴们能看到这里,如果能还能点个赞,那就是对我最大的鼓励!