We’ve used this module to great effect before and it is much more feature rich than the out of the box auto publishing task:
It’s by the Hedgehog Guys, it’s also on GitHub here with docs:
I’ve not tried it with Sitecore 9 yet and it doesn’t say it works with 9 but it may well work, maybe install it on a dev instance and see.
The difference with this module is content editors get some nice new buttons in the ribbon next to publish where they can choose when to publish/unpublish their items:
It allows you to set a time and also supports versions which is nice:
They can see any other scheduled publish/unpublish too too:
From what I recall you can get it to send an email when something published too and control who can see the buttons too which is pretty nice.