I'd set up a SQL Agent job scheduled for whatever time you need this to happen.
One step that executes:
USE <database_name>;
BEGIN
ALTER DATABASE <database_name> SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE <database_name> SET MULTI_USER;
END
Quick and dirty, but it works.
I've also seen an approach that kills sessions in a loop based on the output of sp_who2, but its a complete pita if you have an app that wants to maintain a connection.