我试图将从csv文件中提取的日期与当前日期进行比较,以检查差异是否大于7天。这是我的代码:
with open (path) as csvfile:
readcsv = csv.reader(csvfile, delimiter = ',')
for row in readcsv:
iso_ts = str(row[3])
datum = (datetime.datetime.strptime(''.join(iso_ts.rsplit(':', 1)), '%Y-%m-%dT%H:%M:%S%z'))
current_time = (datetime.datetime.strptime(datetime.datetime.now(),'%Y-%m-%dT%H:%M:%S%z'))
甚至没有比较这些,我得到以下错误
^{pr2}$我想检查一下,如果来自csv的数据比当前日期早7天,然后做些什么。我知道这两个日期的格式都有问题,但我似乎搞不清到底是什么。如果能解释一下我所缺少的,我将非常感激。在
^{} 接受一个} 对象将}进行比较。在
date_string
和一个format
字符串,并将datestring参数转换为datetime
对象。我不认为您需要转换任何东西,您应该能够使用^{datum
与{注意,} returns a timezone-aware ^{} object on Python 3 中看到
.now()
返回一个表示本地时间的朴素的datetime
对象。本地时间可能不明确不要用它来比较。我在格式字符串^{%z
(utc偏移量)。你不能比较天真的和有意识的日期时间对象。使用.now(timezone.utc)
创建可用于比较的时区感知当前时间。见Find if 24 hrs have passed between datetimes - Python您的格式字符串错误。 试试这个:
current_time = datetime.datetime.today().strftime("%Y-%b-%dT%H:%M:%S")
相关问题 更多 >
编程相关推荐