Chinaunix

标题: 如何在python中生成一个日期列表? [打印本页]

作者: dacheng    时间: 2009-04-08 07:16
标题: 如何在python中生成一个日期列表?
我想用python处理每月的工资表,财务月是上月的25日到本月的24日,请问应该如何生成上月25到本月24的日期列表呢?
作者: moatlzy    时间: 2009-04-08 09:53
import time,datetime
ISOFMT='%Y-%m-%d %X'
res=[]
curtf=datetime.datetime(*time.strptime(time.strftime("%Y-%m-24 00:00:00"),ISOFMT)[:6])
for i in xrange(31):
    destf=curtf-datetime.timedelta(i)
    res.append(destf.strftime("%Y%m%d"))
    if destf.day==25:#补加.day
        break
res.reverse()
print res

[ 本帖最后由 moatlzy 于 2009-4-8 13:58 编辑 ]
作者: bohemia    时间: 2009-04-08 11:47
#得到结束日期
today = datetime.date.today()
endday = today.replace(day=24)

#得到开始日期
lastm = today.replace(day=1) - datetime.timedelta(days=1)
startday = lastm.replace(day=25)
#得到日期列表
print [str(startday+datetime.timedelta(days=i)) for i in xrange((endday - startday).days+1)]


也写了个. 貌似楼上的更好.

[ 本帖最后由 bohemia 于 2009-4-8 11:48 编辑 ]
作者: dacheng    时间: 2009-04-08 18:53
感谢楼上的两位,谢谢!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2