Увеличьте месяц в python, а затем напечатайте имя увеличенного месяца. - PullRequest
0 голосов
/ 08 июня 2019

Есть ли способ напечатать название увеличенного месяца?

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

Здесь я получаю "nextmonth" в виде целого числа.

7

Но как я могуполучить название этого месяца, то есть июля.Я даже пытался использовать это,

next_month=nextmonth.strftime("%B")

Но он вернул ошибку,

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

Ответы [ 4 ]

1 голос
/ 08 июня 2019

Вы можете использовать calendar модуль

import calendar
print (calendar.month_name[4])

Встроенный.

0 голосов
/ 08 июня 2019

Для крайних случаев, таких как декабрь, поскольку calendar.month_name имеет 13 элементов

import calendar
import datetime
months=calendar.month_name[1:]
a=months[datetime.date.today().month % 12]
print(a)
0 голосов
/ 08 июня 2019

Ваша проблема в том, что nextmonth - это int, представляющий номер месяца, а не date объект, поэтому вы можете использовать calendar.month_name массив как

>>> import calendar
>>> calendar.month_name[(datetime.date.today().month + 1) % 12]
'July'
0 голосов
/ 08 июня 2019

Вы можете сделать это так в 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)))
...