分享
为什么问答平台  ›  专栏  ›  技术社区  ›  Kaushal

在python中递增月份,然后打印递增月份的名称 - Increment the month in python and then print the name of the incremented month

  •  0
  • Kaushal  · 技术社区  · 1 周前

    有没有办法打印递增月份的名称?

    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 回复  |  直到 1 周前
        1
  •  0
  •   Azat Ibrakov    1 周前

    你的问题是 nextmonth 是一个 int 代表月份,不是 date 对象,以便使用 calendar.month_name array 喜欢

    >>> import calendar
    >>> calendar.month_name[(datetime.date.today().month + 1) % 12]
    'July'
    
        2
  •  1
  •   Azat Ibrakov    1 周前

    你可以用 calendar module

    import calendar
    print (calendar.month_name[4])
    

    它是内置的。

        3
  •  0
  •   Rajan Sharma    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)))
    
        4
  •  0
  •   SmartManoj    1 周前

    对于像十二月这样的边缘案例 calendar.month_name 有13个元素

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