0

したがって、各ワークステーションには請求書のリストがあり、いくつかのワークステーションには多くの請求書があり、いくつかのワークステーションには何もありません。請求書の各リストは昇順にソートされ、最新の請求書が「lastInvoice」に保存されます。

以下のコードは、最後の請求書の日付をチェックし、それを今月の -12 と比較します。請求書の日付が < の場合は、chooseInvoicesForRetention リストに保存されます。

if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(-12))
       {
        chosenInvoicesForRetention.Add(workstation);
       }

これはすべて正常に機能します...ただし、 DateTime.Now.AddMonths(-12) の代わりに、これを別のテーブルに格納されている値に置き換えたいと思います。

workstation.Number_of_Months

これは、月数、つまり 1 ~ 12 を返します。

私はそれで遊んだ 演算子は「int」またはsystem.datetimeに適用できません。

請求日から月の値を取得し、それを int に変換してから比較することは可能ですか。intなど....私はどこか正しいですか?アドバイスしてください...ありがとう

4

3 に答える 3

1

問題を正しく理解しているかどうかはわかりませんが;

if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(-1*workstation.Number_of_Months))
于 2013-01-24T16:10:50.113 に答える
1

請求日から月の値を取得し、それを int に変換してから比較することは可能ですか。

はい、これを行う必要があります:

int month_number = lastInvoice.Invoice_Date.Month
于 2013-01-24T16:10:50.707 に答える
1

よくわかりませんが(もう一度)、なぜですか?

if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(0 - workstation.Number_of_Months))
       {
        chosenInvoicesForRetention.Add(workstation);
       }
于 2013-01-24T16:10:59.710 に答える