C# 查找以前的蜡烛不需要';无法工作,因为DateTime.AddSeconds

C# 查找以前的蜡烛不需要';无法工作,因为DateTime.AddSeconds,c#,binance,C#,Binance,我正在使用Binance API包装,最近我遇到了一个问题DateTime.AddSeconds 下面的代码应该在最后一个订单之前找到蜡烛 //OpenTime和CloseTime都是DateTime var openTime=lastOrder.openTime;//10:50:00 var closeTime=lastOrder.closeTime;//10:54:59 //它应该返回10:55:00-10:50:00=5分钟 //我这样做的原因是因为我不知道我的机器人工作的确切时间间隔。

我正在使用Binance API包装,最近我遇到了一个问题
DateTime.AddSeconds

下面的代码应该在最后一个订单之前找到蜡烛

//OpenTime和CloseTime都是DateTime
var openTime=lastOrder.openTime;//10:50:00
var closeTime=lastOrder.closeTime;//10:54:59
//它应该返回10:55:00-10:50:00=5分钟
//我这样做的原因是因为我不知道我的机器人工作的确切时间间隔。
//我知道的是开放时间(开始)和关闭时间(结束)。
变量差异=关闭时间。添加秒数(1)-打开时间;//closeTime.AddSeconds(1)不起作用
var dateTime=openTime-difference;//10:50:00 - 00:05:00.9990000 = 10:39:99
//10:39:99是无效的开始时间/结束时间
var kline=_client.getkline(符号、间隔、开始时间:dateTime、结束时间:dateTime、限制:1);
问题是: 问题是
.AddSeconds(1)
实际上并没有添加该秒,因此
\u client.GetKlines
失败

我不知道是否有更好的方法来获取Binance API中的上一个蜡烛,但如果有,我会接受它作为解决方案

问题视觉表现:

编辑:


修好了!当我检查DateTime属性时,我意识到我错过了CloseTime属性中的毫秒。所以最后,这是一个错误的计算。我没有使用
.AddSeconds(1)
,而是使用
.addmilisonds(1)

这是DateTime计算还是Biance API的问题?您是否尝试硬编码确切的API参数以确认它返回您期望的返回值?您能否查看openTime和closeTime中以毫秒为单位的值,并将这些值包括在您的问题中?如果我硬编码DateTime
new DateTime(…)
,它工作正常。如果API与您期望的值工作正常,那么要么你的计算是错误的,要么是日期时间中的值打乱了你的计算。毫秒或时区之类的东西可以做到这一点。用工作代码编辑我的问题,但它只适用于硬编码的值。这是100%
.AddSeconds(1)
问题,我正在调试它。不确定,但可能需要
closeTime=closeTime.AddSeconds(1)因为它正在使用未修改的对象。