Проблема времени - PullRequest
       6

Проблема времени

2 голосов
/ 27 апреля 2011

Я написал небольшой код, который проверяет время, если почтовый файл старше 5 часов (300 монет), затем файл должен быть удален. У меня есть этот код. но он не удаляет файл.

string[] zipfiles = Directory.GetFiles("D:\\images\\zipFiles\\", "*.zip*");

foreach (string zip in zipfiles)
{
    FileInfo zipinfo = new FileInfo(zip);
    string t = zipinfo.CreationTime.ToString();
    TimeSpan span = DateTime.Now - zipinfo.CreationTime;
    int k =0;
    k = span.Minutes;
    if (k > 300)
    {
        zipinfo.Delete();
    }
    else
    { 

    }
}

Ответы [ 3 ]

8 голосов
/ 27 апреля 2011

Вы хотите TimeSpan.TotalMinutes.Свойство Minutes возвращает только часть минут промежутка времени (0-59).

3 голосов
/ 28 апреля 2011

Другие ответы на вопрос об использовании TotalMinutes вместо Minutes точны, но поскольку вы также спросили об общей логике и коде, я подумал, что мог бы предложить альтернативу:делает то же самое, что и ваш код, но более кратко и (на мой взгляд) читабельно.Поскольку он использует LINQ, вам потребуется по крайней мере .NET 3.5 для компиляции этого кода.

0 голосов
/ 27 апреля 2011
 string[] zipfiles = Directory.GetFiles("C:\\Delete\\New Folder\\", "*.cs*");

        foreach (string zip in zipfiles)
        {

            FileInfo zipinfo = new FileInfo(zip);
            string t = zipinfo.CreationTime.ToString();
            TimeSpan span = DateTime.Now - zipinfo.CreationTime;
            double k = 0;
            k = span.TotalMinutes;
            if (k > 10)
            {

                zipinfo.Delete();
            }
            else
            {

            }
        }

TotalMinutes получает значение целых и дробных минут промежутка времени

...