4

ログテキストファイルを処理し、日時を取得し、日時をシステムのDateTime形式に変換するプログラムがあります。

ただし、プログラムは、選択されたさまざまな日時範囲を認識していないようです。プログラムは、ユーザーが選択した日付と時刻の間のレコードを取得する必要があります。

問題はおそらくコードの順序付けが原因でしょうか?

誰かがコードについてアドバイスしてもらえますか?ありがとう!

コード:

            String timeDate2 = result1.ToString("MM/dd/yyyy HH:mm:ss");

            Console.WriteLine("The last written time to the registry was : " + timeDate2);

            TimeSpan.TryParse("12/02/2010 16:04:17", out t1);
            TimeSpan.TryParse("12/09/2010 05:12:42", out t2);
            TimeSpan.TryParse(timeDate2, out t3);

            if ((t3 >= t1 && t3 <= t2) == true)    // Is t3 between t1 and t2?
            {
                foreach (String k in lines.Skip(12))
                {
                    Console.WriteLine(k);
                }
             x = 1;
            }

            else
            {
                x = 2;
            }

            Console.WriteLine("============================================================");

        }

        if (x == 2)
        {
            Console.WriteLine("There is no selected days within the log files!");
        }
4

1 に答える 1

1
TimeSpan.TryParse("12/02/2010 16:04:17", out t1);
TimeSpan.TryParse("12/09/2010 05:12:42", out t2);
TimeSpan.TryParse(timeDate2, out t3);

TimeSpan は、タイム スパンであるため、通常は日付を持ちません。つまり、何日、何時間、何分です。日付ではありません。TimeSpan は、日付間の時間定義です。 MSDN ページの詳細情報

修正するDateTime.TryParse

(そして、解析後に t1/t2/t3 の値を確認します)

于 2010-12-14T09:37:32.143 に答える