на сервере это делается легко, а вот на js идеально не получиться.
По крайней мере в js время берётся с компьютера пользователя и это значит, что у него не обязательно время по мск, не обязательно правильное время и ещё куча всего...
__________________
.
|