Hi RonW, I am already using Date::Calc heavily, as you can see in my code above containing calls to MkTime and Add_Delta_Days. :-)
By local <=> UTC time conversion, I am afraid the DST switch issues would just bite me somewhere else. Somewhere in the system I just have to deal with the regular plus and minus DST hours affecting the user's actual schedule after all. Because knowing how long it effectively takes between point a and point b of time, from the users perspective, DST is a condition the software must handle instead of evening it out by UTC conversion. This is the price for having his planned private off time explicitly excluded from time-related calculations.