python獲取指定間隔日期列表

2021-10-10 12:39:58 字數 2570 閱讀 6173

import datetime

from calendar import calendar

defget_year_dates

(year:

int, date_format:

str=

'%y%m%d'

, start_month=

1, end_month=12)

:"""

獲取指定年份月份的所有日期

:param year: int

:param date_format:

:param start_month: 預設開始月份從1月份開始,即返回當年所有日期

:return: -> list[str] 某年從開始月份第一天起到年底的所有日期

"""date_list =

c = calendar(year)

for i in

range

(start_month, end_month +1)

:for week in c.monthdatescalendar(year, i)

:for date in week:

if date.year == year and start_month <= date.month <= end_month:

date = date.strftime(date_format)

if date not

in date_list:

get_logger(

).info(

'get_year_dates, year=%s, start_month=%s, end_month=%s, date_list=%s'

%(year, start_month, end_month, date_list)

)return date_list

import datetime

defget_date_list

(start_date, end_date,

format):

""" 根據開始日期、結束日期返回這段時間裡所有天的集合

:param start_date: 開始日期(日期格式或者字串格式)

:param end_date: 結束日期(日期格式或者字串格式)

:param format: 格式化字串, 如: '%y-%m-%d'

:return:

"""date_list =

ifisinstance

(start_date,

str)

andisinstance

(end_date,

str)

: start_date = datetime.datetime.strptime(start_date,

'%y-%m-%d'

) end_date = datetime.datetime.strptime(end_date,

'%y-%m-%d'

)format))

while start_date < end_date:

start_date += datetime.timedelta(days=1)

format))

return date_list

from datetime import datetime, timedelta

defget_start_and_end_time_list

(start_date, end_date)

:"""

根據開始日期、結束日期返回這段時間裡每天的起止時間

:param start_date: 開始日期(日期格式或者字串格式)

:param end_date: 結束日期(日期格式或者字串格式)

:return: [(datetime.datetime(2021, 8, 21, 0, 0), datetime.datetime(2021, 8, 21, 23, 59, 59)), ...]

"""date_list =

ifisinstance

(start_date,

str)

: start_date = datetime.strptime(start_date,

'%y-%m-%d')if

isinstance

(end_date,

str)

: end_date = datetime.strptime(end_date,

'%y-%m-%d'

)(start_date, start_date + timedelta(days=1)

- timedelta(seconds=1)

))while start_date < end_date:

start_date += timedelta(days=1)

(start_date, start_date + timedelta(days=1)

- timedelta(seconds=1)

))return date_list

間隔問題(時間間隔,日期間隔等)

對於求間隔問題,一般都可以利用通法 選取共同起點 取模運算 每組資料輸出一行,表示最少經過的分鐘數。輸入樣例 27 00 7 00 7 00 8 00 輸出樣例060 include using namespace std int main return 0 題目描述 有兩個日期,求兩個日期之間的天...

mysql間隔日期 MySQL中判斷日期間隔的方法

mysql中查詢一定時間間隔內的資料的方法比較常用,可以使用to days date sub等函式來實現。to days函式的作用是返回指定日期從0年開始計算的天數。date sub函式的作用是通過指定日期減去指定間隔時間。從而可以實現今天 昨天 最近7天 一周 最近30天 1個月 上個月等等查詢方...

python 獲取時間間隔時間戳日期

在現實專案中經常會用到時間戳輪,因為有時候資料是按小時儲存,按小時取出某一天的資料,因此需要輪詢去取時間 在python中 可以這樣 begintime int time.mktime time.strptime 20181023 y m d endtime begintime 86400 for ...