擅长:python、mysql、java
<p>请参见下文(想法是将字符串转换为日期,查找最小值和最大值,在最小值和最大值之间循环并查找“孔”)</p>
<pre><code>from datetime import datetime,timedelta
dates_str = ['20210905','20210904','20210905','20210911','20210913']
dates = [datetime. strptime(d, '%Y%m%d') for d in dates_str]
_min = min(dates)
_max = max(dates)
missing = []
while _min < _max:
_min += timedelta(days=1)
if _min not in dates:
missing.append(_min)
print(missing)
</code></pre>
<p>输出</p>
<pre><code>[datetime.datetime(2021, 9, 6, 0, 0), datetime.datetime(2021, 9, 7, 0, 0), datetime.datetime(2021, 9, 8, 0, 0), datetime.datetime(2021, 9, 9, 0, 0), datetime.datetime(2021, 9, 10, 0, 0), datetime.datetime(2021, 9, 12, 0, 0)]
</code></pre>