Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.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,我只有月和年,我想比较期间(整个月)是否在两个日期时间对象之间。例如,如果我有这两个日期: min_post_date = 2013-03-07 00:00:00 max_post_date = 2014-01-01 00:00:00 我只有2013年和03年,它应该给我正确的,2013年02月应该给错误的,2014年04月应该给错误的,当然2013年08月应该给正确的 你推荐什么 谢谢。您可以先计算月初和月末的两个日期: from calendar import monthrange fro

我只有
,我想比较期间(整个月)是否在两个
日期时间
对象之间。例如,如果我有这两个日期:

min_post_date = 2013-03-07 00:00:00
max_post_date = 2014-01-01 00:00:00
我只有2013年和03年,它应该给我正确的,2013年02月应该给错误的,2014年04月应该给错误的,当然2013年08月应该给正确的

你推荐什么


谢谢。

您可以先计算月初和月末的两个日期:

from calendar import monthrange
from datetime import date, datetime

begin = date(year, month, 1)
end = date(year, month, monthrange(year, month)[1])
然后,您只需检查
begin
end
是否在您的范围内:

(min_post_date <= begin <= max_post_date) or (min_post_date <= end <= max_post_date)

同样的,
max\u post\u date

你的考试日期是什么格式的?像
08-2013
我只有月份和年份,我可以调整格式。
min_post_date = datetime.strptime(min_post_date.split()[0], "%Y-%m-%d").date()