Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-在日期之间查找日期_Python_Date - Fatal编程技术网

Python-在日期之间查找日期

Python-在日期之间查找日期,python,date,Python,Date,我有一个日期数组,它们是一组仅适用于时间表的可用日期,不包括不可用日期。我想做的是找到不可用的日期,我最好的办法是什么 注意,我将在以后将它们转换为unix时间,因此如果解决方案是先将它们转换为unix时间,不要担心向后执行!感谢您的帮助 ['2013-10-22', '2013-10-23', '2013-10-24', '2013-10-25', '2013-10-26', '2013-10-27', '2013-10-28', '2013-10-29', '2013-10-30', '20

我有一个日期数组,它们是一组仅适用于时间表的可用日期,不包括不可用日期。我想做的是找到不可用的日期,我最好的办法是什么

注意,我将在以后将它们转换为unix时间,因此如果解决方案是先将它们转换为unix时间,不要担心向后执行!感谢您的帮助

['2013-10-22', '2013-10-23', '2013-10-24', '2013-10-25', '2013-10-26', '2013-10-27', '2013-10-28', '2013-10-29', '2013-10-30', '2013-10-31', '2013-11-01', '2013-11-01', '2013-11-02', '2013-11-03', '2013-11-04', '2013-11-05', '2013-11-06', '2013-11-07', '2013-11-08', '2013-11-09', '2013-11-10', '2013-11-11', '2013-11-12', '2013-11-13', '2013-11-14', '2013-11-15', '2013-11-16', '2013-11-17', '2013-11-18', '2013-11-19', '2013-11-20', '2013-11-21', '2013-11-22', '2013-11-23', '2013-11-24', '2013-11-25', '2013-11-26', '2013-11-27', '2013-11-28', '2013-11-29', '2013-11-30', '2013-12-01', '2013-12-02', '2013-12-03', '2013-12-04', '2013-12-05', '2013-12-06', '2013-12-07', '2013-12-08', '2013-12-09', '2013-12-10', '2013-12-11', '2013-12-12', '2013-12-13', '2013-12-14', '2013-12-15', '2013-12-16', '2013-12-17', '2013-12-18', '2013-12-19', '2013-12-20', '2013-12-21', '2013-12-22', '2013-12-23', '2013-12-24', '2013-12-24', '2013-12-25', '2013-12-26', '2013-12-26', '2013-12-27', '2013-12-28', '2013-12-29', '2013-12-30', '2013-12-31', '2014-01-01', '2014-01-02', '2014-01-03', '2014-01-04', '2014-01-04', '2014-01-05', '2014-01-06', '2014-01-07', '2014-01-07', '2014-01-08', '2014-01-09', '2014-01-10', '2014-01-11', '2014-01-12', '2014-01-13', '2014-01-14', '2014-01-15', '2014-01-16', '2014-01-17', '2014-01-18', '2014-01-19', '2014-01-20', '2014-01-21', '2014-01-22', '2014-01-23', '2014-01-24', '2014-01-25', '2014-01-26', '2014-01-27', '2014-01-28', '2014-01-29', '2014-01-30', '2014-01-31', '2014-02-01', '2014-02-02', '2014-02-03', '2014-02-04', '2014-02-05', '2014-02-06', '2014-02-07', '2014-02-08', '2014-02-09', '2014-02-10', '2014-02-11', '2014-02-12', '2014-02-13', '2014-02-14', '2014-02-15', '2014-02-16', '2014-02-17', '2014-02-18', '2014-02-19', '2014-02-20', '2014-02-21', '2014-02-22', '2014-02-23', '2014-02-24', '2014-02-25', '2014-02-26', '2014-02-27', '2014-02-28', '2014-03-01', '2014-03-01', '2014-03-02', '2014-03-03', '2014-03-04', '2014-03-05', '2014-03-06', '2014-03-07', '2014-03-08', '2014-03-09', '2014-03-10', '2014-03-11', '2014-03-12', '2014-03-13', '2014-03-14', '2014-03-15', '2014-03-16', '2014-03-17', '2014-03-18', '2014-03-19', '2014-03-20', '2014-03-21', '2014-03-22', '2014-03-23', '2014-03-24', '2014-03-25', '2014-03-26', '2014-03-27', '2014-03-28', '2014-03-29', '2014-03-30', '2014-03-31', '2014-04-01', '2014-04-01', '2014-04-02', '2014-04-03', '2014-04-04', '2014-04-05', '2014-04-06', '2014-04-07', '2014-04-08', '2014-04-09', '2014-04-10', '2014-04-11', '2014-04-12', '2014-04-13', '2014-04-13', '2014-04-14', '2014-04-15', '2014-04-16', '2014-04-17', '2014-04-17', '2014-04-18', '2014-04-19', '2014-04-20', '2014-04-21', '2014-04-22', '2014-04-23', '2014-04-24', '2014-04-24', '2014-04-25', '2014-04-26', '2014-04-27', '2014-04-28', '2014-04-28', '2014-04-29', '2014-04-30', '2014-05-01', '2014-05-02', '2014-05-03', '2014-05-04', '2014-05-05', '2014-05-06', '2014-05-07', '2014-05-08', '2014-05-09', '2014-05-10', '2014-05-11', '2014-05-12', '2014-05-13', '2014-05-14', '2014-05-15', '2014-05-16', '2014-05-17', '2014-05-18', '2014-05-19', '2014-05-20', '2014-05-21', '2014-05-22', '2014-05-23', '2014-05-24', '2014-05-25', '2014-05-26', '2014-05-27', '2014-05-28', '2014-05-29', '2014-05-30', '2014-05-31', '2014-06-01', '2014-06-02', '2014-06-03', '2014-06-04', '2014-06-05', '2014-06-06', '2014-06-07', '2014-06-08', '2014-06-09', '2014-06-10', '2014-06-11', '2014-06-12', '2014-06-13', '2014-06-14', '2014-06-15', '2014-06-16', '2014-06-17', '2014-06-18', '2014-06-19', '2014-06-20', '2014-06-21', '2014-06-22', '2014-06-23', '2014-06-24', '2014-06-25', '2014-06-26', '2014-06-27', '2014-06-28', '2014-06-29', '2014-06-30', '2014-07-01', '2014-07-01', '2014-07-02', '2014-07-03', '2014-07-04', '2014-07-05', '2014-07-06', '2014-07-07', '2014-07-08', '2014-07-09', '2014-07-10', '2014-07-11', '2014-07-12', '2014-07-13', '2014-07-14', '2014-07-15', '2014-07-16', '2014-07-17', '2014-07-18', '2014-07-19', '2014-07-20', '2014-07-21', '2014-07-22', '2014-07-23', '2014-07-24', '2014-07-25', '2014-07-26', '2014-07-27', '2014-07-28', '2014-07-29', '2014-07-30', '2014-07-31', '2014-08-01', '2014-08-01', '2014-08-02', '2014-08-03', '2014-08-04', '2014-08-05', '2014-08-06', '2014-08-07', '2014-08-08', '2014-08-09', '2014-08-10', '2014-08-11', '2014-08-12', '2014-08-13', '2014-08-14', '2014-08-15', '2014-08-16', '2014-08-17', '2014-08-18', '2014-08-19', '2014-08-20', '2014-08-21', '2014-08-22', '2014-08-23', '2014-08-24', '2014-08-25', '2014-08-26', '2014-08-27', '2014-08-28', '2014-08-29', '2014-08-30', '2014-08-31', '2014-09-01', '2014-09-01', '2014-09-02', '2014-09-03', '2014-09-04', '2014-09-05', '2014-09-06', '2014-09-07', '2014-09-08', '2014-09-09', '2014-09-10', '2014-09-11', '2014-09-12', '2014-09-13', '2014-09-14', '2014-09-15', '2014-09-16', '2014-09-17', '2014-09-18', '2014-09-19', '2014-09-20', '2014-09-21', '2014-09-22', '2014-09-23', '2014-09-24', '2014-09-25', '2014-09-26', '2014-09-27', '2014-09-28', '2014-09-29', '2014-09-30', '2014-10-01', '2014-10-02', '2014-10-03', '2014-10-04', '2014-10-05', '2014-10-06', '2014-10-07', '2014-10-08', '2014-10-09', '2014-10-10', '2014-10-11', '2014-10-12', '2014-10-13', '2014-10-14', '2014-10-15', '2014-10-16', '2014-10-17', '2014-10-18', '2014-10-19', '2014-10-20', '2014-10-21', '2014-10-22', '2014-10-23', '2014-10-24', '2014-10-25', '2014-10-26', '2014-10-27', '2014-10-28', '2014-10-29', '2014-10-30', '2014-10-31', '2014-11-01', '2014-11-01', '2014-11-02', '2014-11-03', '2014-11-04', '2014-11-05', '2014-11-06', '2014-11-07', '2014-11-08', '2014-11-09', '2014-11-10', '2014-11-11', '2014-11-12', '2014-11-13', '2014-11-14', '2014-11-15', '2014-11-16', '2014-11-17', '2014-11-18', '2014-11-19', '2014-11-20', '2014-11-21', '2014-11-22', '2014-11-23', '2014-11-24', '2014-11-25', '2014-11-26', '2014-11-27', '2014-11-28', '2014-11-29', '2014-11-30', '2014-12-01', '2014-12-02', '2014-12-03', '2014-12-04', '2014-12-05', '2014-12-06', '2014-12-07', '2014-12-08', '2014-12-09', '2014-12-10', '2014-12-11', '2014-12-12', '2014-12-13', '2014-12-14', '2014-12-15', '2014-12-16', '2014-12-17', '2014-12-18', '2014-12-19', '2014-12-20', '2014-12-21', '2014-12-22', '2014-12-23', '2014-12-24', '2014-12-24', '2014-12-25', '2014-12-26', '2014-12-26', '2014-12-27', '2014-12-28', '2014-12-29', '2014-12-30', '2014-12-31', '2015-01-01', '2015-01-02', '2015-01-03', '2015-01-04', '2015-01-04', '2015-01-05', '2015-01-06', '2015-01-07', '2015-01-07', '2015-01-08', '2015-01-09', '2015-01-10', '2015-01-11', '2015-01-12', '2015-01-13', '2015-01-14', '2015-01-15', '2015-01-16', '2015-01-17', '2015-01-18', '2015-01-19', '2015-01-20', '2015-01-21', '2015-01-22', '2015-01-23', '2015-01-24', '2015-01-25', '2015-01-26', '2015-01-27', '2015-01-28', '2015-01-29', '2015-01-30', '2015-01-31', '2015-02-01', '2015-02-02', '2015-02-03', '2015-02-04', '2015-02-05', '2015-02-06', '2015-02-07', '2015-02-08', '2015-02-09', '2015-02-10', '2015-02-11', '2015-02-12', '2015-02-13', '2015-02-14', '2015-02-15', '2015-02-16', '2015-02-17', '2015-02-18', '2015-02-19', '2015-02-20', '2015-02-21', '2015-02-22', '2015-02-23', '2015-02-24', '2015-02-25', '2015-02-26', '2015-02-27', '2015-02-28', '2015-03-01', '2015-03-01', '2015-03-02', '2015-03-03', '2015-03-04', '2015-03-05', '2015-03-06', '2015-03-07', '2015-03-08', '2015-03-09', '2015-03-10', '2015-03-11', '2015-03-12', '2015-03-13', '2015-03-14', '2015-03-15', '2015-03-16', '2015-03-17', '2015-03-18', '2015-03-19', '2015-03-20', '2015-03-21', '2015-03-22', '2015-03-23', '2015-03-24', '2015-03-25', '2015-03-26', '2015-03-27', '2015-03-28', '2015-03-29', '2015-03-29', '2015-03-30', '2015-03-31', '2015-04-01', '2015-04-02', '2015-04-02', '2015-04-03', '2015-04-04', '2015-04-05', '2015-04-06', '2015-04-07', '2015-04-08', '2015-04-09', '2015-04-09', '2015-04-10', '2015-04-11', '2015-04-12', '2015-04-13', '2015-04-13', '2015-04-14', '2015-04-15', '2015-04-16', '2015-04-17', '2015-04-18', '2015-04-19', '2015-04-20', '2015-04-21', '2015-04-22', '2015-04-23', '2015-04-24', '2015-04-25', '2015-04-26', '2015-04-27', '2015-04-28', '2015-04-29', '2015-04-30', '2015-05-01', '2015-05-02', '2015-05-03', '2015-05-04', '2015-05-05', '2015-05-06', '2015-05-07', '2015-05-08', '2015-05-09', '2015-05-10', '2015-05-11', '2015-05-12', '2015-05-13', '2015-05-14', '2015-05-15', '2015-05-16', '2015-05-17', '2015-05-18', '2015-05-19', '2015-05-20', '2015-05-21', '2015-05-22', '2015-05-23', '2015-05-24', '2015-05-25', '2015-05-26', '2015-05-27', '2015-05-28', '2015-05-29', '2015-05-30', '2015-05-31', '2015-06-01', '2015-06-02', '2015-06-03', '2015-06-04', '2015-06-05', '2015-06-06', '2015-06-07', '2015-06-08', '2015-06-09', '2015-06-10', '2015-06-11', '2015-06-12', '2015-06-13', '2015-06-14', '2015-06-15', '2015-06-16', '2015-06-17', '2015-06-18', '2015-06-19', '2015-06-20', '2015-06-21', '2015-06-22', '2015-06-23', '2015-06-24', '2015-06-25', '2015-06-26', '2015-06-27', '2015-06-28', '2015-06-29', '2015-06-30', '2015-07-01', '2015-07-01', '2015-07-02', '2015-07-03', '2015-07-04', '2015-07-05', '2015-07-06', '2015-07-07', '2015-07-08', '2015-07-09', '2015-07-10', '2015-07-11', '2015-07-12', '2015-07-13', '2015-07-14', '2015-07-15', '2015-07-16', '2015-07-17', '2015-07-18', '2015-07-19', '2015-07-20', '2015-07-21', '2015-07-22', '2015-07-23', '2015-07-24', '2015-07-25', '2015-07-26', '2015-07-27', '2015-07-28', '2015-07-29', '2015-07-30', '2015-07-31', '2015-08-01', '2015-08-01', '2015-08-02', '2015-08-03', '2015-08-04', '2015-08-05', '2015-08-06', '2015-08-07', '2015-08-08', '2015-08-09', '2015-08-10', '2015-08-11', '2015-08-12', '2015-08-13', '2015-08-14', '2015-08-15', '2015-08-16', '2015-08-17', '2015-08-18', '2015-08-19', '2015-08-20', '2015-08-21', '2015-08-22', '2015-08-23', '2015-08-24', '2015-08-25', '2015-08-26', '2015-08-27', '2015-08-28', '2015-08-29', '2015-08-30', '2015-08-31', '2015-09-01', '2015-09-01', '2015-09-02', '2015-09-03', '2015-09-04', '2015-09-05', '2015-09-06', '2015-09-07', '2015-09-08', '2015-09-09', '2015-09-10', '2015-09-11', '2015-09-12', '2015-09-13', '2015-09-14', '2015-09-15', '2015-09-16', '2015-09-17', '2015-09-18', '2015-09-19', '2015-09-20', '2015-09-21', '2015-09-22', '2015-09-23', '2015-09-24', '2015-09-25', '2015-09-26', '2015-09-27', '2015-09-28', '2015-09-29', '2015-09-30', '2015-10-01', '2015-10-02', '2015-10-03', '2015-10-04', '2015-10-05', '2015-10-06', '2015-10-07', '2015-10-08', '2015-10-09', '2015-10-10', '2015-10-11', '2015-10-12', '2015-10-13', '2015-10-14', '2015-10-15', '2015-10-16', '2015-10-17', '2015-10-18', '2015-10-19', '2015-10-20', '2015-10-21']

我会简单地将每个日期映射成一个索引号,并标出那些不可用的日期。然后浏览列表一次,找出可用的日期。这将是一个O(N)解决方案

映射示例:
[…,'2013-10-22','2013-10-25',…]->[…,295,298,…]

2013年10月22日是第295天:


确保使用正确的起点(历元)。您也可以使用unix时代

我会简单地将每个日期映射成一个索引号,并标出那些不可用的日期。然后浏览列表一次,找出可用的日期。这将是一个O(N)解决方案

from datetime import datetime, timedelta
available_date_strings = ['2013-01-01','2013-01-03','2013-01-15']
available_dates = [datetime.strptime(d, '%Y-%m-%d').date() \
                   for d in available_date_strings]
unavailable_dates = []
prev_day = available_dates[0]
while (prev_day < available_dates[-1]):
    the_date =  prev_day + timedelta(days=1)
    if the_date not in available_dates:
         unavailable_dates.append(the_date)
    prev_day = the_date

unavailable_dates =>
[datetime.date(2013, 1, 2),
 datetime.date(2013, 1, 4),
 datetime.date(2013, 1, 5),
 datetime.date(2013, 1, 6),
 datetime.date(2013, 1, 7),
 datetime.date(2013, 1, 8),
 datetime.date(2013, 1, 9),
 datetime.date(2013, 1, 10),
 datetime.date(2013, 1, 11),
 datetime.date(2013, 1, 12),
 datetime.date(2013, 1, 13),
 datetime.date(2013, 1, 14)]
映射示例:
[…,'2013-10-22','2013-10-25',…]->[…,295,298,…]

2013年10月22日是第295天:


确保使用正确的起点(历元)。您也可以使用unix时代

我会简单地将每个日期映射成一个索引号,并标出那些不可用的日期。然后浏览列表一次,找出可用的日期。这将是一个O(N)解决方案

from datetime import datetime, timedelta
available_date_strings = ['2013-01-01','2013-01-03','2013-01-15']
available_dates = [datetime.strptime(d, '%Y-%m-%d').date() \
                   for d in available_date_strings]
unavailable_dates = []
prev_day = available_dates[0]
while (prev_day < available_dates[-1]):
    the_date =  prev_day + timedelta(days=1)
    if the_date not in available_dates:
         unavailable_dates.append(the_date)
    prev_day = the_date

unavailable_dates =>
[datetime.date(2013, 1, 2),
 datetime.date(2013, 1, 4),
 datetime.date(2013, 1, 5),
 datetime.date(2013, 1, 6),
 datetime.date(2013, 1, 7),
 datetime.date(2013, 1, 8),
 datetime.date(2013, 1, 9),
 datetime.date(2013, 1, 10),
 datetime.date(2013, 1, 11),
 datetime.date(2013, 1, 12),
 datetime.date(2013, 1, 13),
 datetime.date(2013, 1, 14)]
映射示例:
[…,'2013-10-22','2013-10-25',…]->[…,295,298,…]

2013年10月22日是第295天:


确保使用正确的起点(历元)。您也可以使用unix时代

我会简单地将每个日期映射成一个索引号,并标出那些不可用的日期。然后浏览列表一次,找出可用的日期。这将是一个O(N)解决方案

from datetime import datetime, timedelta
available_date_strings = ['2013-01-01','2013-01-03','2013-01-15']
available_dates = [datetime.strptime(d, '%Y-%m-%d').date() \
                   for d in available_date_strings]
unavailable_dates = []
prev_day = available_dates[0]
while (prev_day < available_dates[-1]):
    the_date =  prev_day + timedelta(days=1)
    if the_date not in available_dates:
         unavailable_dates.append(the_date)
    prev_day = the_date

unavailable_dates =>
[datetime.date(2013, 1, 2),
 datetime.date(2013, 1, 4),
 datetime.date(2013, 1, 5),
 datetime.date(2013, 1, 6),
 datetime.date(2013, 1, 7),
 datetime.date(2013, 1, 8),
 datetime.date(2013, 1, 9),
 datetime.date(2013, 1, 10),
 datetime.date(2013, 1, 11),
 datetime.date(2013, 1, 12),
 datetime.date(2013, 1, 13),
 datetime.date(2013, 1, 14)]
映射示例:
[…,'2013-10-22','2013-10-25',…]->[…,295,298,…]

2013年10月22日是第295天:

确保使用正确的起点(历元)。您也可以使用unix时代

从datetime导入datetime,timedelta
from datetime import datetime, timedelta
available_date_strings = ['2013-01-01','2013-01-03','2013-01-15']
available_dates = [datetime.strptime(d, '%Y-%m-%d').date() \
                   for d in available_date_strings]
unavailable_dates = []
prev_day = available_dates[0]
while (prev_day < available_dates[-1]):
    the_date =  prev_day + timedelta(days=1)
    if the_date not in available_dates:
         unavailable_dates.append(the_date)
    prev_day = the_date

unavailable_dates =>
[datetime.date(2013, 1, 2),
 datetime.date(2013, 1, 4),
 datetime.date(2013, 1, 5),
 datetime.date(2013, 1, 6),
 datetime.date(2013, 1, 7),
 datetime.date(2013, 1, 8),
 datetime.date(2013, 1, 9),
 datetime.date(2013, 1, 10),
 datetime.date(2013, 1, 11),
 datetime.date(2013, 1, 12),
 datetime.date(2013, 1, 13),
 datetime.date(2013, 1, 14)]
可用日期字符串=['2013-01-01'、'2013-01-03'、'2013-01-15'] 可用日期=[datetime.strTime(d,'%Y-%m-%d')。日期()\ 对于可用的\u日期\u字符串中的d] 不可用日期=[] 上一天=可用日期[0] 而(前一天<可用日期[-1]): 日期=上一天+时间增量(天=1) 如果\u日期不在可用的\u日期中: 不可用的\u日期。追加(\u日期) 上一天=上一天 不可用\u日期=> [日期时间.日期(2013年1月2日), 日期时间。日期(2013年1月4日), 日期时间。日期(2013年1月5日), 日期时间。日期(2013年1月6日), 日期时间。日期(2013年1月7日), 日期时间。日期(2013年1月8日), 日期时间。日期(2013年1月9日), 日期时间。日期(2013年1月10日), 日期时间。日期(2013年1月11日), 日期时间。日期(2013年1月12日), 日期时间。日期(2013年1月13日), 日期时间。日期(2013年1月14日)]
从datetime导入datetime,timedelta
可用日期字符串=['2013-01-01'、'2013-01-03'、'2013-01-15']
可用日期=[datetime.strTime(d,'%Y-%m-%d')。日期()\
对于可用的\u日期\u字符串中的d]
不可用日期=[]
上一天=可用日期[0]
而(前一天<可用日期[-1]):
日期=上一天+时间增量(天=1)
如果\u日期不在可用的\u日期中:
不可用的\u日期。追加(\u日期)
上一天=上一天
不可用\u日期=>
[日期时间.日期(2013年1月2日),
日期时间。日期(2013年1月4日),
日期时间。日期(2013年1月5日),
日期时间。日期(2013年1月6日),
日期时间。日期(2013年1月7日),
日期时间。日期(2013年1月8日),
日期时间。日期(2013年1月9日),
日期时间。日期(2013年1月10日),
日期时间。日期(2013年1月11日),
日期时间。日期(2013年1月12日),
日期时间。日期(2013年1月13日),
日期时间。日期(2013年1月14日)]
从datetime导入datetime,timedelta
可用日期字符串=['2013-01-01'、'2013-01-03'、'2013-01-15']
可用日期=[datetime.strTime(d,'%Y-%m-%d')。日期()\
对于可用的\u日期\u字符串中的d]
不可用日期=[]
上一天=可用日期[0]
而(前一天<可用日期[-1]):
日期=上一天+时间增量(天=1)
如果\u日期不在可用的\u日期中:
不可用的\u日期。追加(\u日期)
上一天=上一天
不可用\u日期=>
[日期时间.日期(2013年1月2日),
日期时间。日期(2013年1月4日),
日期时间。日期(2013年1月5日),
日期时间。日期(2013年1月6日),
日期时间。日期(2013年1月7日),
日期时间。日期(2013年1月8日),
日期时间。日期(2013年1月9日),
日期时间。日期(2013年1月10日),
日期时间。日期(2013年1月11日),
日期时间。日期(2013年1月12日),
日期时间。日期(2013年1月13日),
日期时间。日期(2013年1月14日)]
从datetime导入datetime,timedelta
可用日期字符串=['2013-01-01'、'2013-01-03'、'2013-01-15']
可用日期=[datetime.strTime(d,'%Y-%m-%d')。日期()\
对于可用的\u日期\u字符串中的d]
不可用日期=[]
上一天=可用日期[0]
而(前一天<可用日期[-1]):
日期=上一天+时间增量(天=1)
如果\u日期不在可用的\u日期中:
不可用的\u日期。追加(\u日期)
上一天=上一天
不可用\u日期=>
[日期时间.日期(2013年1月2日),
日期时间。日期(2013年1月4日),
日期时间。日期(2013年1月5日),
日期时间。日期(2013年1月6日),
日期时间。日期(2013年1月7日),
日期时间。日期(2013年1月8日),
日期时间。日期(2013年1月9日),
日期时间。日期(2013年1月10日),
日期时间。日期(2013年1月11日),
日期时间。日期(2013年1月12日),
日期时间。日期(2013年1月13日),
日期时间。日期(2013年1月14日)]

您可以先将所有日期转换为datetime对象,然后遍历它们并检查是否有漏洞。或者,您可以创建两个集合,其中一个是所有可用日期,然后从该集合中删除可用日期

>>> from datetime import datetime, timedelta
>>> available = list(map(lambda x: datetime.strptime(x, '%Y-%m-%d'), available))
>>> dateRange = available[-1] - available[0]
>>> allDays = set((available[0] + timedelta(days=i)) for i in range(dateRange.days))
>>> allDays - set(available)
{datetime.datetime(2013, 10, 26, 0, 0)}

(我从原始输入中取出了一个;没有任何缺少的日期)

您可以先将所有日期转换为datetime对象,然后遍历它们并进行检查