数字到月份?

时间:2017-02-02 15:32:52

标签: python python-3.x date

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

例如:

1208
109
209
309
409

将是:

December 2008
January 2009
February 2009
March 2009
April 2009

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

1 个答案:

答案 0 :(得分:6)

当然,我的想法是:

  • 将数字转换为字符串
  • 使用.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']