python timedelta&date说明

来源:互联网 发布:mac上的iphoto在哪儿 编辑:程序博客网 时间:2024/06/05 02:43

</pre><span style="font-family:'Microsoft YaHei'"><span style="font-size:14px">一个timedelta对象表示在指定时间或者日期之间的一个区间</span></span><p></p><p><span style="white-space:pre"><span style="font-family:'Microsoft YaHei'"><span style="font-size:14px"><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 style="white-space:pre"><span style="font-size:14px">所有的参数都是可选的并且默认值为0.参数类型可以是int、long 、float 甚至可以是负值,并且你输入的参数比如 secondes其值会被限定在[0,59]区间内,其他参数范围按常规以此类推,超过正常区间被报错。</span></span></span></p><p><span style="font-family:Microsoft YaHei; color:#330099"><span style="font-size:14px"></span></span></p><p><span style="font-family:Microsoft YaHei; color:#330099"><span style="white-space:pre"><span style="white-space:pre"><span style="font-size:14px">可以使用例子观察下如何使用,毕竟我们只想快速获取使用方法。</span></span></span></span></p><p><span style="font-family:Microsoft YaHei; color:#330099"><span style="font-size:21.6000003814697px; white-space:pre"><span style="white-space:pre"></span></span></span></p><pre name="code" class="python" style="color: rgb(51, 0, 153);">import datetiimedef getYesterday(): <span style="white-space:pre"></span>  #得到昨天的日期today=datetime.date.today() <span style="white-space:pre"></span>  oneday=datetime.timedelta(days=1) #将时间差设置为days=1,yesterday=today-oneday  <span style="white-space:pre"></span>  #支持date对象间的加减运算return yesterday
<pre name="code" class="python">import datetimedef getD(d,m,y):<span style="white-space:pre"></span>    #指定日期,获取与当前日期差的天数formal = datetime.date(y,m,d)<span style="white-space:pre"></span>    oneday = datetime.timedelta(days=1) #这里的参数可以设置成任意你想设置的时间差curr = datetime.date.today() <span style="white-space:pre"></span>    #当前时间的date对象count = 0while curr!=formal:curr -= onedaycount += 1return count


<img src="http://img.blog.csdn.net/20151108211932514?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" 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/pythonimport time;  # This is required to include time module.ticks = time.time()print "Number of ticks since 12:00am, January 1, 1970:", ticks






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




参考内容 :参考内容bylhj588
0 0
原创粉丝点击