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