有没有简单的方法可以将代表月份和年份的数字转换为文本?

例如:

1208
109
209
309
409

将会:
December 2008
January 2009
February 2009
March 2009
April 2009

我目前能想到的唯一方法是通过一系列 if/else 语句。

最佳答案

当然,这个想法是:

  • 将数字转换为字符串
  • 使用 .strptime() 将字符串加载到日期时间对象
  • 使用 .strftime() 将日期时间转储回所需格式的字符串(在您的情况下为 %B %Y)

  • 演示:
    In [1]: l = [1208, 109, 209, 309, 409]
    
    In [2]: [datetime.strptime(str(item), "%m%y").strftime("%B %Y") for item in l]
    Out[2]: ['December 2008', 'January 2009', 'February 2009', 'March 2009', 'April 2009']
    

    关于python - 数字到月年?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42006224/

    10-16 01:06