Next event, skip all day events, remove once the event starts and is over


So I've been trying to do this in a really dynamic way, however having some issues combining functions in a way that works.

What am I trying to do?
I want to display the next "non-all day" event for today 1hr prior to the event, when that event starts and is over I want to not show anything.
So if the last event finishes at 5pm, I will show the event details until 5pm, then 17:01 it will not show anything until 1hr before the next event for the next day. This is also why I want to skip all-day events.

This is the base code:
$df( hh:mm, ci(start, e0))$ $ci(title, e0)$

The formula you pasted has helped me solve an issue I was facing with calendar. And because of that I am sharing you a method that you can use in solving your problem.

$if(df(H)<4,Sweet dreams,df(H)<12,Morning,df(H)<17,Have a nice day,df(H)<21,Good evening,Night)$!

You can edit the hours to your liking.

I hope that helps