I have several international web sites on this server, one of
which has over 100,000 users who have contributed over 70 million
records, all with UTC timestamps. The problem occurs during the one
hour period EVERY YEAR when daylight saving time is started. It
does not do this in the fall when the time reverts. So, yes, the
problem only occurs during 1 hour out of 8,760 hours, but when you
start with 70 million records over 5 or 6 years...
But the danger is for anybody who stores or manipulates a
date/time OTHER THAN the date/time that is being used internally to
the server. In other words, if your server is set to Central Time,
and you have users in Hawaii or Arizona who need to store their own
date/time, it is likely to apply Central Timezone RULES to that
date/time, even if Hawaii and Arizona don't use DST.
Let's say you're scheduling operating rooms in a hospital in
Honolulu. All the CF routines are going to make sure to shift those
times forward an hour without warning, have a nice day. In my case,
it is happening with UTC, but it could be ANY time zone that has
different rules than the ones on your server.
Yes, I can probably figure out a different way to process
times, but this is a massive system with thousands of different
templates. In fact it affects several pretty massive software
systems with millions of lines of code, so it's not as if I can
just change a few SQL queries and be done with it.
It probably should be a rule for anybody operating a
ColdFusion server in an international setting, where dates and
times from different regions might need to be stored in a database,
to set up the server on UTC time just to avoid this problem.
Me, I have to
a. find all the places this will affect in thousands of lines
of code,
b. try to decide what impact going to UTC on the server will
have on things like scheduled tasks, email servers, etc,
c. then figure out whether there is any way to repair tens of
thousands of corrupted records