>I'd recommend storing all times in a standard (probably GMT) and letting users set their offset (most people know their offset from GMT in hours). People would need to remember to change their offset when daylight savings starts and finishes. I'd certainly recommend using the seconds to do the offset calcs.
Unfortunately, we won't change our database layout. We also want to store the time in our local time zone. Imagine trying to debug something where you always have to calculate the real time. It is important that the time stamp represents Montreal.
I changed my function to use Al Domain approach. It is a much better approach, simplier code and faster.