FW: C/C++ library that parses TZ data?

yoshito_umaoka at us.ibm.com yoshito_umaoka at us.ibm.com
Wed Feb 9 18:34:38 UTC 2011


I think ICU4C [http://icu-project.org/] provides features which you need.
I'd recommend you to check following ICU user guide sections -



> -----Original Message-----
> From: Dario Teixeira [mailto:darioteixeira at yahoo.com] 
> Sent: Wednesday, February 09, 2011 11:03
> To: tz at lecserver.nci.nih.gov
> Subject: C/C++ library that parses TZ data?
> Hi,
> I have a problem which is fairly common when one is running a web 
> that wishes to display timestamps localised towards each user's time 
> Basically, I need a function that takes as input a timestamp in UTC and 
> a time zone specified in the Zoneinfo convention (ex: "Europe/Lisbon"),
> and returns the localised version of that timestamp, including a time 
> abbreviation aware of daylight savings.  Example:
> 2010-01-01 15:30, "Europe/Lisbon"       -> 2010-01-01 15:30 WET
> 2010-01-01 15:30, "Europe/Paris"        -> 2010-01-01 16:30 CET
> 2010-07-01 15:30, "Europe/Lisbon"       -> 2010-07-01 16:30 WEST
> 2010-07-01 15:30, "Europe/Paris"        -> 2010-07-01 17:30 CEST
> Since the zoneinfo data is present in every Unix system and glibc 
> routines for parsing it, interfacing with glibc seemed the obvious 
> Unfortunately, glibc was not designed with this use case in mind.  In 
> the glibc interface to zoneinfo can be described as "sui generis" if one
> is feeling charitable, or "insane" if truth must be told.  Specifically, 
> obtain the localised version of a given timestamp, one must first set 
the 'TZ'
> environment variable with the target timezone, and then invoke 
> The abbreviated name of the timezone can be found in the global 'tzname'
> array: at position 'tzname[0]' if daylight savings are not in effect and 
> position 'tzname[1]' if they are.  A quick search through glibc's 
> shows I'm not the only one to find this interface anachronistic [1], but 
> also reveals that it is unlikely to change.
> So, my question is if someone is aware of some alternative library in C 
> or C++ that provides this same functionality, but is friendlier towards
> concurrent applications.
> Best regards,
> Dario Teixeira
> [1] http://sources.redhat.com/bugzilla/show_bug.cgi?id=11620
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mm.icann.org/pipermail/tz/attachments/20110209/ee4718e4/attachment.htm>

More information about the tz mailing list