datetime.timedelta对象表示两个时间差,减去两个date或datetime对象后返回一个timedelta对象。
如果你问我昨天是几号,这很容易回答。 但是,如果问200天前是几天,就不那么容易回答了。 Python的datetime模块的timedelta可以很容易地给出答案。
函数原型:
classdatetime.timedelta([days[,seconds[,microseconds[,milliseconds[,minutes[,hours[,weeks]]]] )
从构造函数的定义可以看出,所有参数都是可选的,缺省值为0。 参数值可以是整数、浮点数、正数或负数。 timedelta也有自己的属性和方法,可以在dir(datetime.timedelta )中看到。 对于时间存储,timedelta内部只能包含days、seconds和microseconds。 其他参数的值会自动按照以下规则转换:
1将1 millisecond (毫秒)转换为1000 microseconds (微秒)
1将1 minute转换为60秒
1将1 hour转换为3600 seconds
1将1 week转换为7天
一、两种datetime.datetime类型的减法或两种datetime.date类型的减法结果为datetime.timedelta类型
二、以下为具体使用方法
1、以下是打印一天后的时间
now=datetime.datetime.now (
新的
datetime.datetime(2018、1、20、11、5、18、227000 )。
delta=datetime.time delta (days=1) ) )。
三角洲
datetime.timeDelta(1)。
newtime=now delta
打印新时间
2018-01-2111336005336018.227000
新时间
datetime.datetime(2018、1、21、11、5、18、227000 )。
是新时间(str )
‘2018-01-2111:05336018.227000’
新时间(str ) [:-7]
‘2018-01-2111336005336018
print new time.strftime (" % y-% m-% d % h : % m 3360 % s "
2018-01-21 11:05:18
2、以下是得到一天前的时间。 还有一个
now=datetime.datetime.now (
新- datetime.time delta (days=1) )。
datetime.datetime(2018、1、19、11、22、11、774000 )。
nowdatetime.timeDelta(days=-1 ) )。
datetime.datetime(2018、1、19、11、22、11、774000 )。
新的
datetime.datetime(2018、1、20、11、22、11、774000 )。
3、以下得到3小时前的时间
now=datetime.datetime.now (
now-datetime.timeDelta(hours=3) ) ) ) ) ) ) ) )。
datetime.datetime(2018、1、20、8、14、45、545000 ) )。
4、以下为3小时30分钟前的时间
新的
datetime.datetime(2018、1、20、11、14、45、545000 )。
新日期.时间增量(hours=3,minutes=30 ) ) ) ) ) )。
datetime.datetime(2018、1、20、7、44、45、545000 ) )。
5、以下得到3小时30秒前的时间
新的
datetime.datetime(2018、1、20、11、14、45、545000 )。
新日期.时间增量(hours=3,seconds=30 ) ) ) ) ) ) ) )。
datetime.datetime(2018、1、20、8、14、15、545000 )。
6、以下为3天3小时30秒前的时间
新日期.时间增量(hours=3,seconds=30,days=3) ) )。
datetime.datetime(2018、1、17、8、14、15、545000 )。
7、以下得到总秒数,类型为浮动型
datetime.timeDelta(hours=3,seconds=22 ).total_seconds () ) ) ) ) ) ) ) )。
10822.0
3*60*60 22
10822
type (datetime.time delta (hours=3,seconds=22 ).total_seconds ) )