C # Как создать диапазон даты и времени? - PullRequest
4 голосов
/ 14 декабря 2010

У меня есть программа, которая обрабатывает текстовый файл журнала, извлекает время даты, преобразует время даты в системный формат 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!");
        }

1 Ответ

1 голос
/ 14 декабря 2010
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 после разбора)

...