python--datetime模块

来源:互联网 发布:淘宝商家店铺名字在哪 编辑:程序博客网 时间:2024/06/05 06:07
import datetime, calendar   

date = datetime.datetime.now() 获取的为当前系统时间

#1、返回昨天日期def getYesterday():     today=datetime.date.today()     oneday=datetime.timedelta(days=1)     yesterday=today-oneday      return yesterday  #2、返回今天日期   def getToday():      return datetime.date.today()    #3、获取给定参数的前几天的日期,返回一个list  def getDaysByNum(num):      today=datetime.date.today()      oneday=datetime.timedelta(days=1)          li=[]           for i in range(0,num):          #今天减一天,一天一天减          today=today-oneday          #把日期转换成字符串          #result=datetostr(today)          li.append(datetostr(today))      return li  #4、将字符串转换成datetime类型  def strtodatetime(datestr,format):          return datetime.datetime.strptime(datestr,format)  #5、时间转换成字符串,格式为2008-08-02  def datetostr(date):        return   str(date)[0:10]  #6、两个日期相隔多少天,例:2008-10-03和2008-10-01是相隔两天  def datediff(beginDate,endDate):      format="%Y-%m-%d";      bd=strtodatetime(beginDate,format)      ed=strtodatetime(endDate,format)          oneday=datetime.timedelta(days=1)      count=0    while bd!=ed:          ed=ed-oneday          count+=1    return count  #7、获取两个时间段的所有时间,返回list  def getDays(beginDate,endDate):      format="%Y-%m-%d";      bd=strtodatetime(beginDate,format)      ed=strtodatetime(endDate,format)      oneday=datetime.timedelta(days=1)       num=datediff(beginDate,endDate)+1       li=[]      for i in range(0,num):           li.append(datetostr(ed))          ed=ed-oneday      return li  #8、获取当前年份 是一个字符串  def getYear():      return str(datetime.date.today())[0:4]   #9、获取当前月份 是一个字符串  def getMonth():      return str(datetime.date.today())[5:7]  #10、获取当前天 是一个字符串  def getDay():      return str(datetime.date.today())[8:10]     def getNow():      return datetime.datetime.now()        print getToday()  print getYesterday()  print getDaysByNum(3)  print getDays('2008-10-01','2008-10-05')  print '2008-10-04 00:00:00'[0:10]  print str(getYear())+getMonth()+getDay()  print getNow()#11、将字符串格式化成时间      import datetime    >>> s="2006-1-2"    print datetime.datetime.strptime(s,"%Y-%m-%d")    2006-01-02 00:00:00    import time    >>> s="2006-1-2"    >>> time.strptime(s,"%Y-%m-%d")    >>> from time import *    >>> strftime("%Y-%m-%d %H:%M:%S", localtime())    '2011-10-12 03:00:58'#12、将格式字符串转换为时间戳    >>> a = "Sat Mar 28 22:24:24 2009"    >>> b = mktime(strptime(a,"%a %b %d %H:%M:%S %Y"))    >>> print b    1238250264.0    >>>#13、 DateTime示例-----------------演示计算两个日期相差天数的计算>>> import datetime>>> d1 = datetime.datetime(2005, 2, 16)>>> d2 = datetime.datetime(2004, 12, 31)>>> (d1 - d2).days47演示计算运行时间的例子,以秒进行显示import datetimestarttime = datetime.datetime.now()#long runningendtime = datetime.datetime.now()print (endtime - starttime).seconds#14、python取前几天的日期    >>> from datetime import timedelta, date    >>> print date.today() + timedelta(days = -2)   (是不是有点类似 date -d呢)    2011-10-09    >>> 演示计算当前时间向后10小时的时间。>>> d1 = datetime.datetime.now()>>> d3 = d1 + datetime.timedelta(hours=10)>>> d3.ctime()其本上常用的类有:datetime和timedelta两个。它们之间可以相互加减。每个类都有一些方法和属性可以查看具体的值。#15、根据一个起始天数,返回相对今天的日期列表如 MyDate(0).getDaysByNum(1, 7)将得到从昨天开始一周内的日期列表。class MyDate:    def __init__ (self, i):        self.i = i    def getDaysByNum(self, st, en):        today = datetime.date.today() + datetime.timedelta(-self.i)        oneday = datetime.timedelta(days=1)        global yesterday        yesterday = today - oneday        li = []        for i in range(0, en):            today = today - oneday            li.append(str(today).replace("-",""))        return li[st-1:en]   #16、glob:可以使用简单的方法匹配某个目录下的所有子目录或文件,用法也很简单。 glob.glob(regression) 返回一个列表 glob.iglob(regression) 返回一个遍历器   def getDaysByNum(num):    """    输出格式:([datetime.date(2015, 11, 6),  datetime.date(2015, 11, 8)], ['11-06', '11-08'])    """    today = datetime.date.today()    oneday = datetime.timedelta(days=1)    date_li, date_str = [], []    for i in range(0, num):        today = today-oneday        date_li.append(today)        date_str.append(str(today)[5:10])    date_li.reverse()    date_str.reverse()    return date_li, date_str


0 0