0

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");
4

2 に答える 2

1

GetOrders に startdate,enddate があると仮定すると (GetOrders の関数プロトタイプが提供されていないためわかりません)、日付の順序が間違っているか、-1 ではなく AddMonths(1) を使用する必要があります。

(そうでない場合は、GetOrders の関数 proto を含めてください。回答を修正または削除します。)

于 2012-08-15T23:03:27.000 に答える
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
            ) ;

一般的な慣例として、メソッド呼び出しでそれらを組み合わせるのではなく、個々の計算を別々にしておくと、コードが理解しやすくなり、変更しやすくなり、デバッグしやすくなります。

于 2012-08-15T23:08:53.633 に答える