Issue 31016 — $NLS_INTERNAL_TIME UTC timestamps wrong before Daylight Saving Time changes
Status: Solved in 10.2.01
Solution available in patch(es): X704 G101
Description:
Summary: -------- With fix for bug 30925, using UTC as the internal time zone, the external value for datetime fields is no longer calculated based upon the current date but based upon the actual date in the datetime field. This now works as expected. However, a few hours before Daylight Savings time switches on and off, the external datetime value is displayed incorrectly, adding or substracting an hour BEFORE the change should go in effect at 2am. Environment: ----------- Version: Uniface Nine Operating System: OS independent Database: DBMS independent Symptoms: --------- With fix for bug 30925, using UTC as the internal time zone, the external value for datetime fields is no longer calculated based upon the current date but based upon the actual date in the datetime field. This now works as expected. However, a few hours before Daylight Savings time switches on and off, the external datetime value based on $NLS_TIME_ZONE is calculated incorrectly, adding or subtracting an hour BEFORE the Daylight Savings Time change should go in effect at 2am. Example: -------- In the US, Daylight Saving starts on Sunday, 8 March (2am will become 3am) and ends Sunday, 1 November (2am will become 1am). The following example shows datetime ranges that are handled incorrectly: $NLS_INTERNAL_TIME UTC & $NLS_TIME_ZONE America/Detroit (Eastern Time Zone) Time entered Time displayed 07-MAR-2015 21.00.00 07-MAR-2015 22.00.00 07-MAR-2015 22.00.00 07-MAR-2015 23.00.00 07-MAR-2015 23.00.00 08-MAR-2015 00.00.00 07-MAR-2015 23.59.00 08-MAR-2015 00.59.00 08-MAR-2015 00.00.00 08-MAR-2015 01.00.00 08-MAR-2015 01.00.00 08-MAR-2015 02.00.00 31-OCT-2015 21.00.00 31-OCT-2015 20.00.00 31-OCT-2015 22.00.00 31-OCT-2015 21.00.00 31-OCT-2015 23.00.00 31-OCT-2015 22.00.00 31-OCT-2015 23.59.00 31-OCT-2015 22.59.00 01-NOV-2015 00.00.00 31-OCT-2015 23.00.00 01-NOV-2015 00.59.00 31-OCT-2015 23.59.00
Workaround:
There is no known workaround for this problem.
Notes: