[TIMOB-18047] Titanium JS engine does not handle russian winter time shift 25.oct 2014 properly
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | High |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2014-12-04T16:53:23.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 3.5.0, Release 4.0.0 |
Components | n/a |
Labels | n/a |
Reporter | Yury Skaletskiy |
Assignee | Ingo Muschenetz |
Created | 2014-11-07T11:43:42.000+0000 |
Updated | 2015-01-07T02:27:43.000+0000 |
Description
JS Date.setDate() looses a day when it is using for dates beyond to oct 25.
For instance, there's a log from my IOS simulator (OSX Yosemite, Moscow Standard Time, time is taken from NTP server by OSX).
code:
var date2 = new Date(2014,09,25,5,01,01); // 25 october
Ti.API.info(" date2-1 ", date2, "day",date2.getDate(), "ts", date2.getTime());
log output:
[INFO] : date2-1 2014-10-25 01:01:01 +0000 day 25 ts 1414198861000
// ok now, oct 25. UTC time shift is 4 hrs
date2 = new Date(2014,09,26,5,01,01);
Ti.API.info(" date2-2 ", date2, "day",date2.getDate(), "ts", date2.getTime());
[INFO] : date2-2 2014-10-25 02:01:01 +0000 day 25 ts 1414202461000
// THIS IS WRONG! still 25 october, UTC time shift is 24+3 hours!
I see the same picture on devices, too
This has been fixed with the TiCore update
Verified fix on: Mac OSX 10.10.1 Appcelerator Studio, build: 3.4.1.201410281743 Titanium SDK build: 3.5.0.v20150106102524 Titanium CLI, build: 3.4.1 Alloy: 1.5.1 Xcode 6.1.1 iPhone 6 Plus (8.1), iPhone 4s Simulator (8.1)
When using the above code the console output is now *date2-2 2014-10-26 02:01:01 +0000 day 26 ts 1414288861000*, as expected. Closing ticket.