2013-10-31 61 views
0

我需要製作一個循環,回顧最近7天的給定計算。我目前的循環結構如下,但是在遇到前一個月的日子時遇到問題。使用ISODate循環中的「Month」問題

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]的值。

不知道在這裏運行哪個方向而不浪費大量時間。 tuple_time?

回答

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 

...並根據需要格式化每個日期?