I don't want to say that it's not possible but you will need some efforts and you will get some disadvantages, too. The reason for this is StartTime and EndTime won't have a common calendar - you will need to deceide to one or to try to build a common time-dimension from both calendars and/or using another one, possibly an unconnected within a loosen table. To them come quite heavy set analysis expressions to respect the selections within those calendars.
Personally I wouldn't try it. I think the pain with this will be much greater as creating intervals and quite probably I would use two intervals one for dates and one for times.
I wasn't able to find a function to do this, so we created another table with date and time fields to allow congestion analysis.
Here's the script we used, where end timestamp is called ResultTimeStamp ...
time(floor(1440*frac(StartTimeStamp + ((IterNo() -1)*(1/1440))+ (1/86400)))/1440,'hh:mm TT') as ClockTime,
Date(floor(StartTimeStamp + ((IterNo() -1)*(1/1440)))) as CalDate
while StartTimeStamp + ((IterNo() -1)*(1/1440)) + (1/86400) <= ResultTimeStamp + (1/11520)
order by ID, StartTimeStamp;
Here's a chart that displays the data, by one or multiple days...
And the data structure...
Please let me know if you find a simplier way.