Reputation: 93
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
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