Proton
Proton

Reputation: 93

Compare Datetime

I have some exception files which I want to be deleted after 14 days or so. But how can I compare the date times?

It actually looks like this, but it does not work.

DateTime date = DateTime.Now;
DateTime newDate = date.Subtract(TimeSpan.FromDays(date.Day + 14));
DirectoryInfo exceptionsDirectory = new DirectoryInfo(pathToSave);

foreach (FileInfo actualFile in exceptionsDirectory.GetFiles())
{
    if (actualFile.LastWriteTime.Subtract(TimeSpan.FromDays(date.Day + 14)) == newDay)
    {
        try
        {
            File.Delete(actualFile.FullName);
        }
        catch (Exception ex)
        {
            // do ..
        }
    }
}

Upvotes: 1

Views: 249

Answers (1)

Kirill Polishchuk
Kirill Polishchuk

Reputation: 56202

Use something like this:

DateTime expirydate = DateTime.Now.Subtract(TimeSpan.FromDays(14));

DirectoryInfo exceptionsDirectory = new DirectoryInfo(pathToSave);

foreach (FileInfo actualFile in exceptionsDirectory.GetFiles())
{
    if (actualFile.LastWriteTime < expirydate)
    {
        try
        {
            File.Delete(actualFile.FullName);
        }
        catch (Exception ex)
        {
            // do ..
        }
    }
}  

Upvotes: 3

Related Questions