我想以2012年1月1日至2012年1月31日的格式显示日期
 并获得包含日期范围的列表['2012年1月1日-2012年1月31日','2011年12月1日-2011年12月31日','2011年11月1日-2011年11月3日'...' 2011年-2011年2月28日']

即本月之前的所有12个月。
 有任何想法吗???
 请帮忙!!!!!

最佳答案

这是使用datetimecalendar模块的解决方案:

import calendar
import datetime

current = datetime.date.today().replace(day=1)
mylist = list()
for i in xrange(12):
    rng = calendar.monthrange(current.year, current.month)
    last = current.replace(day = rng[1])
    mylist.append(current.strftime("%b 1, %Y") + " - " + last.strftime("%b %d, %Y"))
    current = (current - datetime.timedelta(1)).replace(day=1)
print mylist


当我运行它时,它会打印:

['Jan 1, 2012 - Jan 31, 2012', 'Dec 1, 2011 - Dec 31, 2011', 'Nov 1, 2011 - Nov 30, 2011', 'Oct 1, 2011 - Oct 31, 2011', 'Sep 1, 2011 - Sep 30, 2011', 'Aug 1, 2011 - Aug 31, 2011', 'Jul 1, 2011 - Jul 31, 2011', 'Jun 1, 2011 - Jun 30, 2011', 'May 1, 2011 - May 31, 2011', 'Apr 1, 2011 - Apr 30, 2011', 'Mar 1, 2011 - Mar 31, 2011', 'Feb 1, 2011 - Feb 28, 2011']

关于python - Python日期格式2012年1月1日-2012年1月31日,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8753698/

10-10 11:55