繁体   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