1. ホーム
  2. c#

[解決済み] DateTime.Compare 日付が30日以内であるかどうかを確認する方法は?

2023-03-27 17:47:43

質問

アカウントが 30 日以内に期限切れになるかどうかを調べようとしています。私は正しくDateTime Compareを使用していますか?

if (DateTime.Compare(expiryDate, now) < 30)

{
     matchFound = true;
}

どのように解決するのですか?

<ブロッククオート

DateTime Compareは正しく使用されていますか?

いいえ。 Compare は、2つの日付の相対的な位置についての情報のみを提供します: less, equal or greater. あなたが欲しいのは、このようなものです。

if ((expiryDate - DateTime.Now).TotalDays < 30)
    matchFound = true;

これは、2つの DateTime s. その結果は TimeSpan オブジェクトで、これは TotalDays プロパティを持つオブジェクトです。

さらに、この条件は直接次のように書くことができます。

matchFound = (expiryDate - DateTime.Now).TotalDays < 30;

いいえ if が必要です。