1. 程式人生 > >python獲取指定日期範圍內的每一天,每個月,每季度

python獲取指定日期範圍內的每一天,每個月,每季度

1.獲取所有天,返回一個列表:

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.獲取所有月,返回一個列表:
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.獲取所有季度,返回一個列表:
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



相關推薦

python獲取指定日期範圍每個季度

1.獲取所有天,返回一個列表: def getBetweenDay(begin_date): date_list = [] begin_date = datetime.datetim

Python3實現獲取指定日期範圍的月份列表

import datetime from dateutil import rrule class TimeHelper(): def getMonthRangList(self, start_month, end_month): """ 從開始日期到結束

java獲取指定日期前一天和後日期

java獲得指定日期的前一天,後一天的程式碼,需要的朋友可以參考下。 複製程式碼 程式碼如下: /** * 獲得指定日期的前一天 *  @param specifiedDay  * @return  * @throws Exception */  public static

python獲取指定日期的前N日期和後N日期

#encoding:utf-8from datetime import date, datetime, timedelta day = date.today()now = datetime.now()delta = timedelta(days=5)n_days_after = now + deltan_da

python獲取指定日期的前n或後n日期

<pre name="code" class="plain"> 首先匯入time,和datetime包 import datetime import time 實現程式碼如下: if __name__ == '__main__': dt=sys

Django ORM查詢指定日期範圍的資料

Django ORM查詢指定日期範圍內的方法 dt_s= datetime.now().date() # 2018-7-15 dt_e = (dt_s- timedelta(7)) # 2018-7-08 objs = Record.object

獲取指定日期所在週的時間範圍(週一00:00:00---週日 23:59:59)

/**一週週期相關*/ public class MyWeekDate { /**開始時間*/ public long mLong_begin; /**開始日期*/ public String mStr_begin; /**結束時間*/ public long mLong_end; /**結束日

python獲取指定日期的後(前)(n)

開始在網上找到了,獲取今天,明天和前天日期的程式碼。 >>> import datetime #匯入日期時間模組 >>> today = datetime.date.today() #獲得今天的日期 >>> print

如何使用oracle資料庫查詢指定時間日期

oracle查詢語句(查詢在2018-02-01至2018-07-31時間段內的每一天日期)SELECT TO_CHAR(TO_DATE('2018-02-01', 'yyyy-MM-dd') + ROWNUM - 1,'yyyy-MM-dd') as daylistFRO

獲取時間範圍

public static List<String> findDaysStr(String begintTime, S

Python2 獲取日期之間的

日期 ftime 不定 獲取 class clas get pri eve import datetime def getEveryDay(begin_date,end_date): date_list = [] begin_date = datetime

MySql 求段時間範圍小時分鐘

pda join 月份 nbsp 獲取 pan 關聯 orm now() 平常經常會求一段時間內的每一天統計數據,或者每一時點的統計數據。但是mysql本身是沒有直接獲取時點列表的函數或表。下面是自己用到的一些方法,利用臨時變量和一個已存在的比較多數據(這個需要根據實際情況

指定數字範圍隨機獲取n個不重復數字

source 最小值 max style amp != .get 重復數 eof //方式一:定義一個數組,每次隨機得到一個數字後,檢查數組中是否存在當前數字,不存在將其放入數組 /** * 在指定數字範圍內,隨機獲取n個不重復數字 *

QT 用正則表示式從tableView中篩選出某日期範圍的資料

QDate date1,date2; date1=ui->dateEdit_2->date();//提取開始時間 date2=ui->dateEdit_3->date();//提取結束時間 data_filter->

使用python獲取整月的系統監控資料生成報表

1.安裝阿里開源監控工具tsar tsar官方網站  wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-check-certificate unzip tsar.zip cd tsar m

js 獲取指定日期及下上一月及下一月

1、獲取指定日期上一天、下一天 function getNextDate(date,day) { var dd = new Date(date); dd.setDate(dd.getDate() + day); var y = dd.getFullYear(); var m

php獲取指定日期前一天、前週、前一個、前前一個

dump( date( 'Y-m-d', strtotime('2018-10-1 +1 day') ) ); dump( date( 'Y-m-d', strtotime('2018-10-1 +1 week') ) ); dump( date( 'Y-m-d', strtotime('2018-10-

JS獲取指定日期的前一天一個

//獲取當前日期方法 function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var year = date.getFullYear(); var month = date.getMonth() + 1; var

java獲取指定日期的前一天和後

@Test public void getDay() { String day = "2018-03-19"; Calendar c = Calendar.get

mysql獲取從某個時間到今天的日期以及笛卡爾積

1.要獲得從指定日期到今天的每一天的日期 select date_format(assigned_date,’%Y-%m-%d’) assigned_date from (select adddate(‘2014-01-01’,t