python datetime 時間日期處理

2022-03-17 23:40:02 字數 4170 閱讀 8767

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)  

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

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

47演示計算執行時間的例子,以秒進行顯示

import datetime

starttime = datetime.datetime.now()

#long running

endtime = 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

return li[st-1:en]   

#16、glob:可以使用簡單的方法匹配某個目錄下的所有子目錄或檔案,用法也很簡單。

glob.glob(regression) 返回乙個列表

glob.iglob(regression) 返回乙個遍歷器

**自 

python datetime處理時間

datetime date time都提供了strftime 方法,該方法接收乙個格式字串,輸出日期時間的字串表示。下表是從python手冊中拉過來的,我對些進行了簡單的翻譯 翻譯的有點噢口 格式字元 意義 a 星期的簡寫。如 星期三為web a星期的全寫。如 星期三為wednesday b月份的簡...

python datetime學習筆記

import datetime d datetime.date 2016,7,24 新建乙個日期,注意前面的0不能有 print d 20106 07 24 d datetime.date.today 獲取當前日期 print d print d.year,d.month,d.day print d...

Python datetime模組小結

模組小結如下 另外有time模組小結 from datetime import date,time,datetime,timedelta datetime.now 當前日期元組 datetime.today 當前日期元組 d1 2018 05 09 10 20 15 d2 2018 06 02 08...