在python中递增月份,然后打印递增月份的名称

时间:2019-06-08 16:01:42

标签: python python-datetime

有什么办法打印增加月份的名称?

import datetime
currentDT = datetime.datetime.now()
currentmonth=currentDT.strftime("%B")
nextmonth = datetime.date.today().month + 1

在这里,我得到整数形式的“下个月”。

7

但是我如何获得该月的名字,即七月。我什至尝试使用它,

next_month=nextmonth.strftime("%B")

但是它返回了错误

AttributeError: 'int' object has no attribute 'strftime'

4 个答案:

答案 0 :(得分:1)

您可以使用calendar module

import calendar
print (calendar.month_name[4])

它是内置的。

答案 1 :(得分:0)

对于像calendar.month_name这样的12月这样的边缘情况,有13个元素

import calendar
import datetime
months=calendar.month_name[1:]
a=months[datetime.date.today().month % 12]
print(a)

答案 2 :(得分:-1)

您可以在python 3中这样做

import time,datetime

currentDT = datetime.datetime.now()
currentmonth=currentDT.strftime("%B")
nextmonth = datetime.date.today().month + 1
print(time.strftime('%B', time.struct_time((0, nextmonth, 0,)+(0,)*6)))

答案 3 :(得分:-1)

您的问题是nextmonth是代表月份号的int,而不是date对象,因此您可以像使用calendar.month_name array一样

>>> import calendar
>>> calendar.month_name[(datetime.date.today().month + 1) % 12]
'July'