python獲取指定日期范圍內(nèi)的每一天,每個(gè)月,每季度的方法
1.獲取所有天,返回一個(gè)列表:
def getBetweenDay(begin_date): date_list = [] begin_date = datetime.datetime.strptime(begin_date, "%Y-%m-%d") end_date = datetime.datetime.strptime(time.strftime('%Y-%m-%d',time.localtime(time.time())), "%Y-%m-%d") while begin_date <= end_date: date_str = begin_date.strftime("%Y-%m-%d") date_list.append(date_str) begin_date += datetime.timedelta(days=1) return date_list
2.獲取所有月,返回一個(gè)列表:
def getBetweenMonth(begin_date): date_list = [] begin_date = datetime.datetime.strptime(begin_date, "%Y-%m-%d") end_date = datetime.datetime.strptime(time.strftime('%Y-%m-%d', time.localtime(time.time())), "%Y-%m-%d") while begin_date <= end_date: date_str = begin_date.strftime("%Y%m") date_list.append(date_str) begin_date = add_months(begin_date,1) return date_list def add_months(dt,months): month = dt.month - 1 + months year = dt.year + month / 12 month = month % 12 + 1 day = min(dt.day, calendar.monthrange(year, month)[1]) return dt.replace(year=year, month=month, day=day)
3.獲取所有季度,返回一個(gè)列表:
def getBetweenMonth(begin_date): date_list = [] begin_date = datetime.datetime.strptime(begin_date, "%Y-%m-%d") end_date = datetime.datetime.strptime(time.strftime('%Y-%m-%d', time.localtime(time.time())), "%Y-%m-%d") while begin_date <= end_date: date_str = begin_date.strftime("%Y-%m") date_list.append(date_str) begin_date = add_months(begin_date,1) return date_list def add_months(dt,months): month = dt.month - 1 + months year = dt.year + month / 12 month = month % 12 + 1 day = min(dt.day, calendar.monthrange(year, month)[1]) return dt.replace(year=year, month=month, day=day) def getBetweenQuarter(begin_date): quarter_list = [] month_list = getBetweenMonth(begin_date) for value in month_list: tempvalue = value.split("-") if tempvalue[1] in ['01','02','03']: quarter_list.append(tempvalue[0] + "Q1") elif tempvalue[1] in ['04','05','06']: quarter_list.append(tempvalue[0] + "Q2") elif tempvalue[1] in ['07', '08', '09']: quarter_list.append(tempvalue[0] + "Q3") elif tempvalue[1] in ['10', '11', '12']: quarter_list.append(tempvalue[0] + "Q4") quarter_set = set(quarter_list) quarter_list = list(quarter_set) quarter_list.sort() return quarter_list
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)圖片和視頻的相互轉(zhuǎn)換
有時(shí)候我們需要把很多的圖片合成視頻,或者說(shuō)自己寫(xiě)一個(gè)腳本去加快或者放慢視頻;也有時(shí)候需要把視頻裁剪成圖片,進(jìn)行后續(xù)操作。這篇文章就將為大家介紹如何通過(guò)Python實(shí)現(xiàn)圖片和視頻的相互轉(zhuǎn)換,需要的可以參考一下2021-12-12Python實(shí)用技巧之利用元組代替字典并為元組元素命名
這篇文章主要給大家介紹了關(guān)于Python實(shí)用技巧之利用元組代替字典并為元組元素命名的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2018-07-07Python3中多線(xiàn)程編程的隊(duì)列運(yùn)作示例
這篇文章主要介紹了Python3中多線(xiàn)程編程的隊(duì)列運(yùn)作示例,文中用一個(gè)簡(jiǎn)單的例子展示了Python下嘗試多線(xiàn)程時(shí)隊(duì)列的進(jìn)站出站是如何運(yùn)作的,需要的朋友可以參考下2015-04-04Python機(jī)器視覺(jué)之基于OpenCV的手勢(shì)檢測(cè)
這篇文章主要為大家介紹了一個(gè)機(jī)器視覺(jué)項(xiàng)目:基于OpenCV的手勢(shì)檢測(cè),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python和OpenCV有一定的幫助,感興趣的可以跟隨小編學(xué)習(xí)一下2021-12-12Django?CSRF驗(yàn)證失敗請(qǐng)求被中斷的問(wèn)題
這篇文章主要介紹了Django?CSRF驗(yàn)證失敗請(qǐng)求被中斷的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09Python學(xué)習(xí)之名字,作用域,名字空間(下)
這篇文章主要介紹了Python學(xué)習(xí)之名字,作用域,名字空間,緊接上一篇文章內(nèi)容展開(kāi)全文,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-05-05Django的數(shù)據(jù)模型訪(fǎng)問(wèn)多對(duì)多鍵值的方法
這篇文章主要介紹了Django的數(shù)據(jù)模型訪(fǎng)問(wèn)多對(duì)多鍵值的方法,Django是Python豐富多彩的web框架中最具人氣的一個(gè),需要的朋友可以參考下2015-07-07使用python編寫(xiě)udp協(xié)議的ping程序方法
下面小編就為大家分享一篇使用python編寫(xiě)udp協(xié)議的ping程序方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04