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