天天看點

python datetime子產品基本用法

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):  

    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))  

#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()

本文轉自 轉身撞牆角 51CTO部落格,原文連結:http://blog.51cto.com/chentianwang/1783501