我正在尝试执行以下操作:
步骤1& 2不是问题,我完成了这样的事情:
import datetime
from datetime import timedelta
import time
now = datetime.datetime.now() #checks current datetime
### READ LAST RUN DATETIME ###
try:
test = open("last_settings.ini", "r") #opens file in read mode
print "Name of the file: ", test.name
last_run = test.read(10); # just reads the date
print "Program was last run: %s" % last_run
test.close()
firstRun = 'False'
except:
print "Settings file does not exist"
#test = open("last_settings.ini", "w+") #creates the file
#test.close()
#first_run = 'True'
#look_back = str(now-timedelta(days=14)) #sets initial lookBack date of two weeks
#print "Pulling down all paid invoices from date " + look_back
### 24 hour lookback ###
look_back = time.strptime(last_run, "%Y-%m-%d")
但是,我尝试获取发布日期之前的日期(上面的#3)的每种方法都会引发错误。我的代码:
look_back = look_back-timedelta(days=1)
错误:
look_back = look_back-timedelta(days=1)
TypeError: unsupported operand type(s) for -: 'time.struct_time' and 'datetime.timedelta'
有关于如何做到这一点的想法吗?
答案 0 :(得分:3)
datetime.datetime
个对象也有<{3}} :
read_date = datetime.datetime.strptime(last_run, '%Y-%m-%d')
previous_day = read_date - datetime.timedelta(days=1)
formatted_previous_day = previous_day.strftime('%Y-%m-%d')