TzInfo and DST and UTC to Easter convert help

We created a calendar on ruby on rails using the TzInfo add-in. The users set a timezone in their preference and all dates/times are saved to the DB in UTC. This worked great up until March 8/9 for Eastern because of the DST change and we moved ahead one hour. Therefore, if an entry saved to the db for 8:40am Eastern it was put in the system as 5 hours ahead. However, it has now changed to 4 hours ahead and all new entries saved for this time period are off. If an event started on the 7th of March and went to the 10th of March, everything prior to DST is fine but everything else is off by an hour. How do I compensate for this extra hour? I am sure it will be fine in a few weeks when UTC reflect their DST. I am running TzInf v0.3.6, RoR 2.0.2 and gems 1.0.1.

Is there a difference between UTC and GMT?

We created a calendar on ruby on rails using the TzInfo add-in. The users set a timezone in their preference and all dates/times are saved to the DB in UTC. This worked great up until March 8/9 for Eastern because of the DST change and we moved ahead one hour. Therefore, if an entry saved to the db for 8:40am Eastern it was put in the system as 5 hours ahead. However, it has now changed to 4 hours ahead and all new entries saved for this time period are off. If an event started on the 7th of March and went to the 10th of March, everything prior to DST is fine but everything else is off by an hour. How do I compensate for this extra hour? I am sure it will be fine in a few weeks when UTC reflect their DST. I am running TzInf v0.3.6, RoR 2.0.2 and gems 1.0.1.

Is there a difference between UTC and GMT?

Technically yes, in practical senses no. If you care about things like
leap seconds being added because the rotation of the earth is slowing,
then yes.

# ------------------------------------------------------------------- private def setdatetoutc(enddateyn) if @appointment.StartTime!=nil and @appointment.StartTime.to_s!=''   @tempsdated=Time.parse(@appointment.StartDate.to_s)   @tempsdatet=Time.parse(@appointment.StartTime.to_s)   @tempsdate=Time.local(@tempsdated.to_date.strftime('%Y'), @tempsdated.to_date.strftime('%m'), @tempsdated.strftime('%d'), @tempsdatet.strftime("%H"), @tempsdatet.strftime("%M"), @tempsdatet.strftime("%S"))

What timezone is your server using? That will affect the result of
these calls of Time.local an strftime Also I can't help but think that this all looks very complicated.

Fred

The server is using UTC. This works fine up until the date of DST switchover. Then it all goes haywire.