You could use the in-built Sitecore Task Scheduling, this would let you configure an exact time (aka Schedule) for the publish to take place.
The only development required would be to create a custom class with a publish method that called the publish through the Sitecore API.
Information on how to trigger a publish programatically can be found at http://patrickdelancy.com/2015/01/compare-contrast-ways-programmatically-publish-sitecore-items/#.WBsBgfqLRhE or https://briancaos.wordpress.com/2011/01/14/create-and-publish-items-in-sitecore/
See this page for information on how to create a Sitecore Scheduled Task http://www.degdigital.com/insights/how-to-create-sitecore-scheduled-task/