[英]Adding a 'Datetime' object to a time delta
我是 python 的新手,我正在嘗試對日期進行一些數學運算。 開始日期是從可以在此處找到的 swagger 界面中提取的: https ://esi.tech.ccp.is/latest/#!/Market/ get_markets_region_id_orders
相關字段是“已發行”字段。 目前,我正在嘗試使用這樣的 timedelta 添加它:
date = market_ops.data[i].issued completion_date = date + datetime.timedelta(days=int(market_ops.data[i].duration))
這將返回錯誤: unsupported operand type(s) for +: 'Datetime' and 'datetime.timedelta'
這是否意味着“發布”對象不是 datetime.datetime 對象,而是其他類型的對象,還是我做錯了什么?
我認為你需要將字符串數據轉換成datetime.datetime
加入之前實例datetime.timedelta
它。
沿着這些路線的東西:
date_string = market_ops.data[i].issued
date = datetime.datetime.strptime(date_string[:10], '%Y-%m-%M')
completion_date = date + datetime.timedelta(days=int(market_ops.data[i].duration))
請注意,計算的completion_date
中的結果也將是datetime.datetime
類型。
正如@martineau 在下面建議的那樣,我只需要將 'Datetime' 對象字符串化,這是一個 swagger 原語,然后strptime()
生成的字符串如下:
start_date = datetime.datetime.strptime(str(market_ops.data[i].issued)[0:19],
'%Y-%m-%dT%H:%M:%S')
completion_date = start_date + datetime.timedelta(days=int(market_ops.data[i].duration))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.