I had to do something similar with a dashboard I was using. It's not 100% but it might help get you close.
TimeRange is the name of my token from the time picker.
start with your DateHour eval
| eval start_time=relative_time(now(),"$TimeRange.earliest$")
| eval start_time2="$TimeRange.earliest$"
| eval start_time=if(start_time>0,start_time,start_time2)
| eval end_time=relative_time(now(),"$TimeRange.latest$")
| eval end_time2="$TimeRange.latest$"
| eval end_time=if(end_time2="now",9999999999,end_time)
| eval end_time=if(end_time>0,end_time,end_time2)
| eval timestamp=strptime(DateHour,"%Y-%m-%d-%H")
| where timestamp>=start_time AND timestamp<=end_time
... View more