That fails for the case that you have an appointment at 3pm in 30 days, and 15 days later the timezone's offset changed.
Of course, if you have a meeting that spans timezones, this is unavoidable. I think the real solution actually lies in how the meeting time is expressed to the user so they don't have misconceptions about it.