NZ changed the day light saving week a few years ago, hence the incorrect calculation on older version of Delphi. Easiest way would probably be to copy XE5's source code.
Robo On Thu, Apr 3, 2014 at 12:30 AM, Alister Christie < [email protected]> wrote: > I've noticed in Delphi XE that TTimeZone.Local.ToUniversalTime is a week > out on daylight savings, it works correctly in XE5 however (and probably > earlier versions). > > program Project6; > > {$APPTYPE CONSOLE} > > uses > SysUtils, > DateUtils; > > begin > Writeln(DateTimeToStr(TTimeZone.Local.ToUniversalTime(StrToDateTime( > '5/4/2014 2pm')))); > Writeln(DateTimeToStr(TTimeZone.Local.ToUniversalTime(StrToDateTime( > '12/4/2014 2pm')))); > Readln; > end. > > > Outputs > > 5/04/2014 1:00:00 a.m. > 6/04/2014 1:00:00 a.m. > > in XE (incorrectly) and > > 5/04/2014 1:00:00 a.m. > 6/04/2014 2:00:00 a.m. > > in XE5 (correctly). XE works correctly from the 13th onwards - so it's > just a problem for a week. > > Does anyone have some code that does conversions to UTC correctly for > Delphi XE? > > Alister Christie > Computers for People > Ph: 04 471 1849 Fax: 04 471 1266http://www.salespartner.co.nz > Follow us on Twitter http://twitter.com/salespartner > PO Box 13085 > Johnsonville > Wellington > > > _______________________________________________ > NZ Borland Developers Group - Delphi mailing list > Post: [email protected] > Admin: http://delphi.org.nz/mailman/listinfo/delphi > Unsubscribe: send an email to [email protected] with > Subject: unsubscribe >
_______________________________________________ NZ Borland Developers Group - Delphi mailing list Post: [email protected] Admin: http://delphi.org.nz/mailman/listinfo/delphi Unsubscribe: send an email to [email protected] with Subject: unsubscribe
