Timezone names

Joshua Daniel Franklin joshuadfranklin@gmail.com
Sat Aug 6 03:16:00 GMT 2005


On 8/4/05, Cliff Hones wrote:
> I was curious as to why, under Cygwin, the default UK timezone
> names (eg as displayed by "date") are different from the standard
> names.  [Standard UK names are GMT and BST, while Cygwin displays
> GMTST and GMTDT.]  So I did some source digging.  Forgive me if the
> following info is already readily available - but I couldn't find
> it.  Note that the Cygwin FAQ admits to being out of date:
>    http://cygwin.com/faq/faq_3.html#SEC85


Thanks, Cliff! Do you mind if I use this for the new FAQ text?


> Cygwin does not use the Newlib version of tzset - there is a
> Cygwin-specific implementation in localtime.cc.  Unlike the
> Newlib tzset, if environment TZ is not set, the Cygwin version
> uses Windows API GetTimeZoneInformation.  The timezone names
> as seen by Cygwin are set using just the the capital letters in
> the Windows timezone names  (which, for the UK, are "GMT Standard Time"
> and "GMT Daylight Time").
> 
> Of course, this affets other timezones too; most US zones translate
> to their standard names, but Central America will generate CAST/CADT
> rather than CST/CDT.
> 
> To get the more standard names, one can, of course, set the
> TZ environment variable explicitly (eg to "GMT0BST").  There is
> logic to complement the TZ setting info with default info from
> built in posixrules, but it's not clear to me if this will set the
> daylight saving on/off points correctly.  An alternative solution,
> which will use the Windows daylight saving info as before is to
> update the Windows timezone database directly.  I believe there is
> a "tzedit" tool to do this in Windows resource kits, but it is easy
> to do using the registry [ok, I know this is frowned on].  The timezone
> names (in NT/2K/XP) are in
>    HKLM\Software\Microsoft\Windows NT\Current Version\TimeZones\<yourzone>
> (eg ..\GMT Standard Time for UK).
> The keys "Std" and "Dlt" specify the zone names - I changed mine to
> be "Greenwich Mean Time" and "British Summer Time".  After the change,
> to make it effective, use the Windows "Adjust Date/Time" dialog to reselect
> your timezone.
> 
> OBLIGATORY WARNING - Do not modify registry settings unless you are confident
> you know what you are doing, and know how to restore previous settings if
> your system subsequently malfunctions.
> 
> A possibly better solution, one day, would be for the "localtime" implementation
> to be implemented for Cygwin, with zone files in /usr/share/zoneinfo.
> 
> -- Cliff
> 
> 
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Problem reports:       http://cygwin.com/problems.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
> 
>

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list