你须要执行简单的日期操做,计算两个日期间隔多少天、某个日期后的多少天是几月几日、转换时间字符串的格式等html
使用datetime
库中的datetime
和timedelta
类python
其中datetime
类表明一个日期 + 时间,例如2018年4月16日11点00分00秒;timedelta
类表明一个日期间隔数据库
对于datetime
实例,能够直接进行-
数学运算获得一个timedelta
实例,也就是两个日期时间的间隔,好比计算两个日期之间有多少天微信
>>> import datetime >>> a = datetime.datetime(year=2018, month=4, day=16) >>> b = datetime.datetime(year=2018, month=3, day=5) >>> delta = a - b >>> delta.days 42 >>> print(delta) 42 days, 0:00:00
因此咱们也能够让一个datetime
实例加上一个timedelta
实例,获得一个新的datetime
实例,好比说我想计算从今天开始日后20天是几月几日spa
>>> start = datetime.datetime.now() >>> print(start) 2018-04-16 11:12:50.846262 >>> delta = datetime.timedelta(days=20) >>> end = start + delta >>> print(end) 2018-05-06 11:12:50.846262
而且datetime类
还提供了strftime
和strptime
进行字符串和日期时间之间的转换操做code
咱们能够使用strftime
将一个datetime
实例转换为字符串,也能够用strptime
将一个字符串转换为datetime
实例,而且本身控制格式htm
>>> dt = datetime.datetime.now() >>> s = datetime.datetime.strftime(dt, '%Y-%m-%d %X') >>> s '2018-04-16 11:21:01' >>> dt2 = datetime.datetime.strptime(s, '%Y-%m-%d %X') >>> dt2 datetime.datetime(2018, 4, 16, 11, 21, 1)
使用datetime
和timedelta
能够对日期时间很方便的操做,除了上面介绍的,还好比将一个列表中某个时间段的数据取出来、对数据库中select出来的日期时间进行操做、或者对日期字符串进行从新格式化等等rem
除了datetime
和timedelta
类外,datetime
模块还支持date
、time
等类,若是只须要表示日期(X年X月X日),能够只使用date
类,若是只须要表示时间(X时X分X秒),能够使用time
类文档
关于strftime
和strptime
的占位符(%Y %m %d这种)见:https://docs.python.org/3/lib...字符串
关于datetime
更详细的文档见:https://docs.python.org/3/lib...
Segment Fault
欢迎关注个人微信公众号:python每日一练