python timedelta&date说明


一个timedelta对象表示在指定时间或者日期之间的一个区间

class datetime.timedelta([days[seconds[microseconds[milliseconds[minutes[hours[weeks]]]]]]])

所有的参数都是可选的并且默认值为0.参数类型可以是int、long 、float 甚至可以是负值,并且你输入的参数比如 secondes其值会被限定在[0,59]区间内,其他参数范围按常规以此类推,超过正常区间被报错。

可以使用例子观察下如何使用,毕竟我们只想快速获取使用方法。

import datetiime

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

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






写到这里有必要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






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




参考内容 : 参考内容bylhj588

你可能感兴趣的:(python timedelta&date说明)