Oh buddy dont do that
Interval timers should be user but they should not be used to wait until a certain amount of time has elapsed.
Rather create schedules.
In your case lets say you wish to make sometthign happen 1 day after it has been initialised.
Thake the current Date DateTime.Now.AddDays(1);
then you use your timer that checks every say 1 minute so every 60000 milisecond interval
if(DateTime.Now >= DateTimeSchedule){
DateTimeSchedule = DateTime.Now.AddDays(1);
}
This will ensure that went the PC goes down your timer wont start from the top again
PS as a warning use windows services for this, the reason is that ASP.NET processes gets recycled every odd minutes meaning that even though your timer is running asp.net will decide to recycle the process. meaning your timer will completely shut down.
I got completely burnt on this before there is a way to get around this by using a HTTP web client to reactivate the website when it gets recycled but it gets very messy.