Making calendar event start/stop and current time available in UNIX seconds (seconds since 1970) would make dealing with multi-day / long duration events trivial in scripting. Basically it would allow
((cal1_ssec < time_sec) and (cal1_esec > time_sec)) and 'In the event!' or 'not in the event'
No matter when the event started (possibly days ago) and ends (possibly days in the future). This way you wouldn't have to do complex considerations of whether start > end or end > start to determine your % range of the event.
(You don't need to do this in seconds necessarily, days since 1970 or hours or something else fractional could work too, as long as they are from a fixed point in time).