我有一个GetOrders
课程,要求我提供DateTime
值的开始和结束日期。然而,当我提供日期时,我收到此错误消息:Sorry, the end date was missing, invalid, or before the start date. <EndDate> must be in YYYY-MM-DD or YYYY-MM-DD HH:MI:SS format, and after the start date.
这是我的代码:
ff.GetOrders(DateTime.UtcNow, DateTime.UtcNow.AddMonths(-1), TradingRoleCodeType.Buyer, OrderStatusCodeType.Completed);
当我尝试使用格式化字符串时,它会不工作:
String dt1 = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ");
String dt2 = DateTime.UtcNow.AddMonths(-1).ToString("yyyy-MM-ddTHH:mm:ssZ");
答案 0 :(得分:1)
假设GetOrders有startdate,enddate(由于你没有给GetOrders的函数原型,我无法分辨),那么你的日期顺序错误,或者你应该AddMonths(1)而不是-1。 / p>
(如果不是这种情况,请包含GetOrders的原型函数,我将修改或删除我的答案。)
答案 1 :(得分:1)
如上所述,我的数学有点......我想:
ff.GetOrders( DateTime.UtcNow ,
DateTime.UtcNow.AddMonths(-1) ,
TradingRoleCodeType.Buyer ,
OrderStatusCodeType.Completed
) ;
尝试类似
的内容DateTime dtStart = DateTime.utcNow ;
DateTime dtEnd = dtStart.AddMonths(1) ;
ff.GetOrders( dtStart ,
dtEnd ,
TradingRoleCodeType.Buyer ,
OrderStatuscodeType.Completed
) ;
作为一般做法,将单个计算分开而不是在方法调用中将它们组合使代码更容易理解,更容易修改,更容易调试。