簡體   English   中英

將“日期時間”對象添加到時間增量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM