Recently, a coworker came up with an interesting issue. A dateTime object is created with all time parts being zero. Hours and minutes are added with dateAdd(...). This happens for October 31st 2021. The day daylight saving time ends in central Europe. We observe on our servers that one hour less is added than intended, which means the following code eventually prints the timestamp {ts '2021-10-31 07:30:00'}.
<cfset dOct31 = createDateTime( 2021, 10, 31, 0, 0, 0 )>
<cfset dOct310800 = dateAdd( 'n', 30, dOct31 )>
<cfset dOct310800 = dateAdd( 'h', 8, dOct310800 )>
<cfdump var="#dOct31#">
<cfdump var="#dOct310800#">
I run this code on TryCF and do not observe this issue with any of the available servers. I thought it may be because of the locale, but setting the TryCF code to German (Standard) doesn't change a thing.
What (JAVA) settings influence this behaviour? Can I disable this behaviour? It came as an unpleasant surprise.