0

我需要创建一个循环来回顾过去 7 天的给定计算。我目前的循环结构如下,但是在前一个月的日子里我遇到了问题。

cmm = datetime.datetime.now().strftime("%m")#current month
cdd = datetime.datetime.now().strftime("%d") #current date
cyyyy = datetime.datetime.now().strftime("20%y") #current year
refdate = cyyyy + '-' + cmm + '-' + cdd + 'T'

D7 = [1,2,3,4,5,6,7]
for i in D7:

date = cyyyy + '-' + cmm + '-' + str(int(cdd) - i) + 'T'
print(date, "  ", "NUU", " NUU1", " NUU2", " NUU3", " NUU4", " NUU5", " NUU6")

输出:

2013-10-3T    NUU  NUU1  NUU2  NUU3  NUU4  NUU5  NUU6
2013-10-2T    NUU  NUU1  NUU2  NUU3  NUU4  NUU5  NUU6
2013-10-1T    NUU  NUU1  NUU2  NUU3  NUU4  NUU5  NUU6
2013-10-0T    NUU  NUU1  NUU2  NUU3  NUU4  NUU5  NUU6
2013-10--1T    NUU  NUU1  NUU2  NUU3  NUU4  NUU5  NUU6
2013-10--2T    NUU  NUU1  NUU2  NUU3  NUU4  NUU5  NUU6
2013-10--3T    NUU  NUU1  NUU2  NUU3  NUU4  NUU5  NUU6

此处列出的最后 4 个日期显然不够。

在某些 PyMongo 查询中使用正则表达式计算 NUU[0-6] 的值时使用了这些日期。

不知道在不浪费大量时间的情况下在这里运行的方向。元组时间?

4

1 回答 1

1

为什么不从类似...

from datetime import datetime, timedelta

# initial_date = datetime.today()
initial_date = datetime(2000, 3, 2)
interval = timedelta(days = 6)
increment = timedelta(days = 1)

i = initial_date - interval
while i <= initial_date:
    print(i)
    i += increment

...并根据需要格式化每个日期?

于 2013-10-31T16:49:17.080 回答