Posted by: Insane AlphaBeta1) It can't go by days (OK, technically it could, but it would be ridiculous for it to) because you can blacklist someone for as little as one minute. If it went by days the shortest amount of time you could blacklist for would be a day.
2) When you blacklist someone through the unleash ninjas form, I'm 99% sure that the expiration is not determined by the amount of days you choose (because that's just text), but rather the selection you choose in the list. The text that's there which tells you how many days the blacklist lasts for is just for your convenience of knowing how long it will last. After you submit the blacklist, the site is likely taking the current date and time and adding it with the predefined amount of time based on which item in the list you chose. If it weren't predefined, there's the possibility that someone who only has the "Moderate Forum" security option could submit blacklist lengths longer than 7 days.
By the way, the 80 day blacklist should be 90 days, and you left out the permanent blacklist option.
Posted by: Erikster
It seems like the smart way to do it is just by days and not dates. If you use dates than that's begging for an exception/bug.How? .NET's DateTime doesn't allow invalid dates, and neither does SQL Server.
That's the whole reason you get an error message when you try to blacklist someone through the Blacklist Management page and have it expire on the 29th February 2013 - a date which doesn't exist.
Posted by: Erikster
Just use the method to get the current time in milliseconds after Jan. 1, 1970, add 1000 * 60 * 60 * 24 * 365 and there you have a one year ban..NET's TimeSpan is much better than that.