</pre><span style="font-family:'Microsoft YaHei'"><span >一个timedelta对象表示在指定时间或者日期之间的一个区间</span></span><p></p><p><span ><span style="font-family:'Microsoft YaHei'"><span ><span style="color:#cc0000"><span class="property">class </span><tt class="descclassname" style="padding:0px 1px; background-color:transparent">datetime.</tt><tt class="descname" style="padding:0px 1px; font-weight:bold; background-color:transparent"><span class="highlighted" style="background-color:rgb(251,229,78)">timedelta</span></tt><big>(</big><span class="optional">[</span>days<span class="optional">[</span><span style="background-color:rgb(251,229,78)">, </span>seconds<span class="optional">[</span><span style="background-color:rgb(251,229,78)">, </span>microseconds<span class="optional">[</span><span style="background-color:rgb(251,229,78)">, </span>milliseconds<span class="optional">[</span><span style="background-color:rgb(251,229,78)">, </span>minutes<span class="optional">[</span><span style="background-color:rgb(251,229,78)">, </span>hours<span class="optional">[</span><span style="background-color:rgb(251,229,78)">, </span>weeks<span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><big>)</big></span></span></span></span></p><p><span style="font-family:Microsoft YaHei; color:#330099"><span ><span >所有的参数都是可选的并且默认值为0.参数类型可以是int、long 、float 甚至可以是负值,并且你输入的参数比如 secondes其值会被限定在[0,59]区间内,其他参数范围按常规以此类推,超过正常区间被报错。</span></span></span></p><p><span style="font-family:Microsoft YaHei; color:#330099"><span ></span></span></p><p><span style="font-family:Microsoft YaHei; color:#330099"><span ><span ><span >可以使用例子观察下如何使用,毕竟我们只想快速获取使用方法。</span></span></span></span></p><p><span style="font-family:Microsoft YaHei; color:#330099"><span style="font-size:21.6000003814697px; white-space:pre"><span ></span></span></span></p><pre name="code" class="python" style="color: rgb(51, 0, 153);">import datetiime

def getYesterday(): <span >			</span>  #得到昨天的日期
	today=datetime.date.today() <span >	</span>  
	oneday=datetime.timedelta(days=1) #将时间差设置为days=1,
	yesterday=today-oneday  <span >	</span>  #支持date对象间的加减运算
	return yesterday
<pre name="code" class="python">import datetime

def getD(d,m,y):<span >			</span>    #指定日期,获取与当前日期差的天数
	formal = datetime.date(y,m,d)<span >	</span>    
	oneday = datetime.timedelta(days=1) #这里的参数可以设置成任意你想设置的时间差
	curr = datetime.date.today() <span >	</span>    #当前时间的date对象
	count = 0
	while curr!=formal:
		curr -= oneday
		count += 1
	return count






<img src="" align="left" alt="" />



写到这里有必要PO下date类的结构 as follows:

  date类表示一个日期。日期由年、月、日组成(地球人都知道~~)。date类的构造函数如下:

    class datetime.date(year, month, day):参数的意义就不多作解释了,只是有几点要注意一下:

  • year的范围是[MINYEAR, MAXYEAR],即[1, 9999];
  • month的范围是[1, 12]。(月份是从1开始的,不是从0开始的~_~);
  • day的最大值根据给定的year, month参数来决定。例如闰年2月份有29天;

    date类定义了一些常用的类方法与类属性,方便我们操作:

  • date.max、date.min:date对象所能表示的最大、最小日期;
  • date.resolution:date对象表示日期的最小单位。这里是天。
  • date.today():返回一个表示当前本地日期的date对象;
  • date.replace(year, month, day):生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性
  • date.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推;
  • date.isocalendar():返回格式如(year,month,day)的元组
  • date.isoformat():返回格式如'YYYY-MM-DD’的字符串;

Python 中的时间表示方式可以是时间戳方式(tick)方式,这种方式采用unix时间戳的模式,即从1970年1月1日期计算到现在的秒数(并不包含闰秒)。




#!/usr/bin/python
import time;  # This is required to include time module.

ticks = time.time()
print "Number of ticks since 12:00am, January 1, 1970:", ticks






python的delta函数 python中delta_时间戳










但是这种方法有个问题是我们对一大堆的秒数并没有直观的认识,所以必须要转换成可以方便阅读的时间(1986/08/12)。