https://bugzilla.novell.com/show_bug.cgi?id=740754 https://bugzilla.novell.com/show_bug.cgi?id=740754#c0 Summary: Timezone Europe/Italy leads to wrong dates on DST change at 00:00:00 Classification: openSUSE Product: openSUSE 12.1 Version: Final Platform: x86-64 OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: Other AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: andrea.turrini@gmail.com QAContact: qa@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 As pointed out in an Italian forum about openSUSE, some web site checks the validity of the date provided in a form using JavaScript performing a "tmp = new Date (form_year, form_month-1, form_day)" and then checking whether "form_year = tmp.getYear()" and so on. This induces a wrong answer for some dates where DST occurred (format: dd/mm/yyyy): 22/05/1966, 28/05/1967, 01/06/1969, 31/05/1970, 23/05/1971, 28/05/1972, 03/06/1973, 26/05/1974, 01/06/1975, 30/05/1976, 22/05/1977, 28/05/1978, 17/05/1979. For instance, a "new Date(1972, 4, 28)" returns "May 27 1972, 23:00:00 GMT+0100 (CET)" instead of the correct date "May 28 1972...". The point in common for all these dates is that the DST change happened at 00:00:00. However there are other dates where the DST change happened at 00:00:00 that do not induce the above error: 04/06/1916, 01/04/1917, 10/03/1918, 02/03/1919, 21/03/1920, 15/06/1940, 16/03/1947, 26/05/1968. For all remaining years, either there was no DST change or it happened at a time different from 00:00:00 (usually 02:00:00). I performed the above tests using the addon FireBug and adding a "new Date(...)" watch. This problem occurs in Firefox as well as Chrome but not in Opera and Konqueror, accordingly to reports from forum users. Moreover, the same happens for other distributions (Mandriva, Fedora, Ubuntu) but not on Windows (with the same version of Firefox, for instance), so it seems to be something independent from the browser and OS but dependent on an element that is common for several Linux distributions, such as the timezone package. If I zdump the Europe/Rome timezone relative to years 1972 (where error occurs) and 1968 (where error does not occur), the result is essentially the same: orodruin:/home/ori # zdump -v Europe/Rome|grep 1968 Europe/Rome Sat May 25 22:59:59 1968 UTC = Sat May 25 23:59:59 1968 CET isdst=0 Europe/Rome Sat May 25 23:00:00 1968 UTC = Sun May 26 01:00:00 1968 CEST isdst=1 Europe/Rome Sat Sep 21 21:59:59 1968 UTC = Sat Sep 21 23:59:59 1968 CEST isdst=1 Europe/Rome Sat Sep 21 22:00:00 1968 UTC = Sat Sep 21 23:00:00 1968 CET isdst=0 orodruin:/home/ori # zdump -v Europe/Rome|grep 1972 Europe/Rome Sat May 27 22:59:59 1972 UTC = Sat May 27 23:59:59 1972 CET isdst=0 Europe/Rome Sat May 27 23:00:00 1972 UTC = Sun May 28 01:00:00 1972 CEST isdst=1 Europe/Rome Sat Sep 30 21:59:59 1972 UTC = Sat Sep 30 23:59:59 1972 CEST isdst=1 Europe/Rome Sat Sep 30 22:00:00 1972 UTC = Sat Sep 30 23:00:00 1972 CET isdst=0 so timezone seems to be innocent. I am almost sure this is not an openSUSE bug since probably it is an upstream bug but I have no idea about the possible culprit and how to find it in order to file the bug report in the right bugzilla. Reproducible: Always Steps to Reproduce: 1. 2. 3. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.