Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.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_Datetime - Fatal编程技术网

python中最近六个月的数字

python中最近六个月的数字,python,datetime,Python,Datetime,我想以列表的形式获得python中最近六个月的数字。 假设我们在3月份,我想获得: >>> last_six_months [2, 1, 12, 11, 10] 我用这种方式列出了一份理解清单: from datetime import datetime, timedelta last_six_months = [(datetime.today() - timedelta(days=i)).month for i in range(30, 180, 30)] 您的最佳选择是

我想以列表的形式获得python中最近六个月的数字。 假设我们在3月份,我想获得:

>>> last_six_months
[2, 1, 12, 11, 10]

我用这种方式列出了一份理解清单:

from datetime import datetime, timedelta
last_six_months = [(datetime.today() - timedelta(days=i)).month for i in range(30, 180, 30)]

您的最佳选择是仅在月份使用模数计算:

[(datetime.today().month - i - 1) % 12 + 1 for i in range(6)]
这包括当月;如果您只需要前5个月,请使用
范围(1,6)

演示:


(月-1)%12+1
模式可确保始终获得介于1和12之间的值。

例如,当今天是3月31日时,这会导致日期不正确。
>>> [(datetime.today().month - i - 1) % 12 + 1 for i in range(6)]
[3, 2, 1, 12, 11, 10]