From 573dda0cf2efa947a9c3d665abc1d94a0d600a9e Mon Sep 17 00:00:00 2001 From: Brian Inglis Date: Thu, 27 Aug 2020 01:17:09 -0600 Subject: [PATCH] winsup/doc/faq-api.xml(faq.api.timezone): explain time zone updates based on material from tz@IANA.org mailing list sources --- winsup/doc/faq-api.xml | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/winsup/doc/faq-api.xml b/winsup/doc/faq-api.xml index 829e4d7fe..6283fb663 100644 --- a/winsup/doc/faq-api.xml +++ b/winsup/doc/faq-api.xml @@ -385,13 +385,43 @@ Cygwin version number details, check out the -Why isn't timezone set correctly? +Why isn't my time (or zone) set correctly? -(Please note: This section has not yet been updated for the latest net release.) +Daylight saving (Summer time) and other time zone changes are +decided on by politicians, and announced by government officials, +sometimes with short or no notice, so time zone updates are released at +least a few, and sometimes several, times a year. +Details of changes are not known until they are announced publicly by +officials, often in foreign languages. +Those details then have to be noticed, possibly translated, passed to, +picked up, and applied by the official tzdata +source package maintainers. +That information has to be compiled, checked, and released publicly in +an update to the official tzdata source package. +Then those changes have to be picked up and applied to the Cygwin +tzdata package, which has to be updated, built, +tested, and released publicly. -Did you explicitly call tzset() before checking the value of timezone? -If not, you must do so. +Time zone settings are updates to the daylight saving (Summer +time) rules for dates of changes, hour offsets from UTC of time zones, +and the geographic regions to which those rules and offsets apply, +provided in the tzdata package included in all +Cygwin installations. +Have you run the Cygwin Setup program recently to update at least +the tzdata package? + +Are you developing applications using times which may be affected +by time zones? +Since the ctime(), localtime(), +mktime(), and strftime() functions +are required to set time zone information as if by calling +tzset(), there is no need for an explicit +tzset() call before using these functions. +However, if none of the above functions are called first, applications +should ensure tzset() is called explicitly before +using any other time functions, or checking or using time zone +information.