一、日期时间计算
1)timedelta 两个 datetime 之差
次类中包含如下属性:
1 days 天数
2 microseconds 微秒 (>=0 并且<1 秒)
3 seconds: 秒数(>=0 并且<1 天)
演示:
from datetime importdatetime
dt01 = datetime(2012, 12, 12, 12,12, 12,121212)
dt02 = datetime(2013, 11, 13, 13,13, 11,131313)
print(dt01 - dt02)
print(abs((dt01 - dt02).days)) #相差多少天
print(abs((dt01 - dt02).seconds)) #相差多少秒
print(abs((dt01 - dt02).microseconds)) #相差多少微秒
print(dt01.strftime("%Y-%m-%d %H:%M:%S."),
dt01.microsecond,end="和")
print(dt02.strftime("%Y-%m-%d %H:%M:%S."),
dt02.microsecond,end="相差")
print(abs((dt01-dt02).days),"天",abs((dt01-dt02).seconds),"秒
",abs((dt01-dt02).microseconds),"微秒")
经常获得了一个用户提交的当前日期,我们需要以这个日期为依据返回它的前一
天,或者后一天的日期。用 Python 可以非常简单的解决这个关于日期计算的问
题。
用 Python 计算昨天和明天的日期:
>>> import datetime #导入日期时间模块
>>> today = datetime.date.today() #获得今天的日期
>>> print today #输出今天日期
2016-01-25
>>> yesterday = today - datetime.timedelta(days=1) #用今天日期减掉时间差,
参数为 1 天,获得昨天的日期
>>> print yesterday
2016-01-25
>>> tomorrow = today + datetime.timedelta(days=1) #用今天日期加上时间差,参
数为 1 天,获得明天的日期
>>> print tomorrow
2016-01-25
>>> print "昨天:%s, 今天:%s, 明天:%s" % (yesterday, today, tomorrow) #
字符串拼接在一起输出,这 3 天的日期
昨天:2016-01-23, 今天:2016-01-24, 明天:2016-01-25