数字到月份?

Kev*_*161 4 python date python-3.x

是否有简单的方法将表示月份和年份的数字转换为文本?

例如:

1208
109
209
309
409
Run Code Online (Sandbox Code Playgroud)

将会:

December 2008
January 2009
February 2009
March 2009
April 2009
Run Code Online (Sandbox Code Playgroud)

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

ale*_*cxe 6

当然,这个想法是:

  • 将数字转换为字符串
  • 用于.strptime()将字符串加载到datetime对象中
  • 用于.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']
Run Code Online (Sandbox Code Playgroud)