[erlang-patches] Fix support for leap seconds-aware timezones.

Piotr Sikora <>
Mon Jul 16 23:59:42 CEST 2012

Fix support for leap seconds-aware timezones.

erlang:universaltime_to_localtime is leap seconds-aware (since 2008),
however erlang:localtime_to_universaltime is not, which gives
surprising results on systems configured with leap seconds-aware

1> erlang:universaltime_to_localtime({{2012,1,1},{0,0,0}}).
2> erlang:localtime_to_universaltime({{2012,1,1},{0,0,0}}).

and completely breaks calendar:local_time_to_universal_time_dst:

3> calendar:local_time_to_universal_time_dst({{2012,1,1},{0,0,0}}).

git fetch git://github.com/PiotrSikora/otp.git fix-leap-seconds


Note: this patch was tested on OpenBSD and it fixes the issue, but it should 
be tested on other operating systems with leap seconds-aware timezones. 
Information on how to enable them on Linux and FreeBSD can be found here:

Best regards,
Piotr Sikora <  >

More information about the erlang-patches mailing list