python中时间处理datetime模块的timedelta用法

作者:我就是个世界 发表于:2012-11-06
当有人问你昨天是几号,是不是很容易就得到答案了,
但是当问你100天前是几号,你是不是又能很容易地得出答案呢?

呵呵,让我们用程序来实现一下吧,datetime的timedeltime就派上用场了。
[code]
import datetime
(datetime.datetime.now() - datetime.timedelta(days = 100)).strftime("%Y-%m-%d")
[/code]
是不是很方便呢?![separator]

[color=#FF0000]timedelta代表两个datetime之间的时间差[/color]

再看下面的例子:
[code]
#! /usr/bin/python
# coding=utf-8

from datetime import datetime,timedelta

"""
timedelta代表两个datetime之间的时间差
"""
now = datetime.now()
past = past = datetime(2010,11,12,13,14,15,16)

timespan = now - past
#这会得到一个负数
past - now
attrs = [
("days","日"),( 'seconds',"秒"),( 'microseconds',"毫秒")
#('min',"最小"),( 'max',"最大"),
]
for k,v in attrs:
    "timespan.%s = %s #%s" % (k,getattr(timespan, k),v)

"""
总共相差的秒数
"""
timespan.total_seconds()

"""
实例化一个timespan
请注意它的参数顺序
timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
"""
timespan = timedelta(days=1)
now - timespan #返回的是datetime型
now + timespan

timespan * 2 #还可以乘哦。代表二倍
timespan / 13
[/code]

分享:

扫一扫在手机阅读、分享本文

请发表您的评论