pike.git / lib / modules / Calendar.pmod / tzdata / theory.html

version» Context lines:

pike.git/lib/modules/Calendar.pmod/tzdata/theory.html:81:   </p>      <p>   As described below, reference source code for using the   <code><abbr>tz</abbr></code> database is also available.   The <code><abbr>tz</abbr></code> code is upwards compatible with <a   href="https://en.wikipedia.org/wiki/POSIX">POSIX</a>, an international   standard for <a   href="https://en.wikipedia.org/wiki/Unix">UNIX</a>-like systems.   As of this writing, the current edition of POSIX is: <a - href="http://pubs.opengroup.org/onlinepubs/9699919799/"> The Open + href="https://pubs.opengroup.org/onlinepubs/9699919799/"> The Open   Group Base Specifications Issue 7</a>, IEEE Std 1003.1-2017, 2018   Edition.   Because the database's scope encompasses real-world changes to civil   timekeeping, its model for describing time is more complex than the   standard and daylight saving times supported by POSIX.   A <code><abbr>tz</abbr></code> timezone corresponds to a ruleset that can   have more than two changes per year, these changes need not merely   flip back and forth between two alternatives, and the rules themselves   can change at times.   Whether and when a timezone changes its
pike.git/lib/modules/Calendar.pmod/tzdata/theory.html:179:   <ul>    <li>    Use only valid POSIX file name components (i.e., the parts of    names other than '<code>/</code>').    Do not use the file name components '<code>.</code>' and    '<code>..</code>'.    Within a file name component, use only <a    href="https://en.wikipedia.org/wiki/ASCII">ASCII</a> letters,    '<code>.</code>', '<code>-</code>' and '<code>_</code>'.    Do not use digits, as that might create an ambiguity with <a -  href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03">POSIX +  href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03">POSIX    <code>TZ</code> strings</a>.    A file name component must not exceed 14 characters or start with    '<code>-</code>'.    E.g., prefer <code>Asia/Brunei</code> to    <code>Asia/Bandar_Seri_Begawan</code>.    Exceptions: see the discussion of legacy names below.    </li>    <li>    A name must not be empty, or contain '<code>//</code>', or    start or end with '<code>/</code>'.
pike.git/lib/modules/Calendar.pmod/tzdata/theory.html:294:    </li>    <li>    If a name is changed, put its old spelling in the    '<code>backward</code>' file.    This means old spellings will continue to work.    </li>   </ul>      <p>   Guidelines have evolved with time, and names following old versions of - this guideline might not follow the current version. When guidelines + these guidelines might not follow the current version. When guidelines   have changed, old names continue to be supported. Guideline changes   have included the following:   </p>      <ul>   <li>   Older versions of this package used a different naming scheme.   See the file '<code>backward</code>' for most of these older names   (e.g., '<code>US/Eastern</code>' instead of '<code>America/New_York</code>').   The other old-fashioned names still supported are
pike.git/lib/modules/Calendar.pmod/tzdata/theory.html:323:   These legacy names are mostly defined in the file   '<code>etcetera</code>'.   Also, the file '<code>backward</code>' defines the legacy names   '<code>GMT0</code>', '<code>GMT-0</code>' and '<code>GMT+0</code>',   and the file '<code>northamerica</code>' defines the legacy names   '<code>EST5EDT</code>', '<code>CST6CDT</code>',   '<code>MST7MDT</code>', and '<code>PST8PDT</code>'.   </li>      <li> - Older versions of this guideline said that + Older versions of these guidelines said that   there should typically be at least one name for each <a   href="https://en.wikipedia.org/wiki/ISO_3166-1"><abbr   title="International Organization for Standardization">ISO</abbr>   3166-1</a> officially assigned two-letter code for an inhabited   country or territory.   This old guideline has been dropped, as it was not needed to handle   timestamps correctly and it increased maintenance burden.   </li>   </ul>   
pike.git/lib/modules/Calendar.pmod/tzdata/theory.html:372:      <ul>    <li>    Use three to six characters that are ASCII alphanumerics or    '<code>+</code>' or '<code>-</code>'.    Previous editions of this database also used characters like    space and '<code>?</code>', but these characters have a    special meaning to the    <a href="https://en.wikipedia.org/wiki/Unix_shell">UNIX shell</a>    and cause commands like -  '<code><a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#set">set</a> -  `<a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/date.html">date</a>`</code>' +  '<code><a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#set">set</a> +  `<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/date.html">date</a>`</code>'    to have unexpected effects.    Previous editions of this guideline required upper-case letters, but the    Congressman who introduced    <a href="https://en.wikipedia.org/wiki/Chamorro_Time_Zone">Chamorro    Standard Time</a> preferred "ChST", so lower-case letters are now    allowed.    Also, POSIX from 2001 on relaxed the rule to allow '<code>-</code>',    '<code>+</code>', and alphanumeric characters from the portable    character set in the current locale.    In practice ASCII alphanumerics and '<code>+</code>' and
pike.git/lib/modules/Calendar.pmod/tzdata/theory.html:948:    States in 1987), all programs that did time conversion had to be    recompiled to ensure proper results.    </li>    <li>    The <code>TZ</code> environment variable is process-global, which    makes it hard to write efficient, thread-safe applications that    need access to multiple timezones.    </li>    <li>    In POSIX, there is no tamper-proof way for a process to learn the -  system's best idea of local wall clock. +  system's best idea of local (wall clock) time.    This is important for applications that an administrator wants    used only at certain times &ndash; without regard to whether the    user has fiddled the    <code>TZ</code> environment variable.    While an administrator can "do everything in <abbr>UT</abbr>" to    get around the problem, doing so is inconvenient and precludes    handling daylight saving time shifts &ndash; as might be required to    limit phone calls to off-peak hours.    </li>    <li>
pike.git/lib/modules/Calendar.pmod/tzdata/theory.html:1045:    timezones.    The <code>tzalloc</code> and <code>tzfree</code> functions    allocate and free objects of type <code>timezone_t</code>,    and <code>localtime_rz</code> and <code>mktime_z</code> are    like <code>localtime_r</code> and <code>mktime</code> with an    extra <code>timezone_t</code> argument.    The functions were inspired by <a href="https://netbsd.org/">NetBSD</a>.    </li>    <li>    A function <code>tzsetwall</code> has been added to arrange for the -  system's best approximation to local wall clock time to be delivered +  system's best approximation to local (wall clock) time to be delivered    by subsequent calls to <code>localtime</code>. -  Source code for portable applications that "must" run on local wall -  clock time should call <code>tzsetwall</code>; +  Source code for portable applications that "must" run on local +  time should call <code>tzsetwall</code>;    if such code is moved to "old" systems that do not    provide <code>tzsetwall</code>, you will not be able to generate an    executable program. -  (These functions also arrange for local wall clock time to +  (These functions also arrange for local time to    be used if <code>tzset</code> is called &ndash; directly or    indirectly &ndash; and there is no <code>TZ</code> environment    variable; portable applications should not, however, rely on this    behavior since it is not the way <a    href="https://en.wikipedia.org/wiki/UNIX_System_V#SVR2"><abbr>SVR2</abbr></a>    systems behave.)    </li>    <li>    Negative <code>time_t</code> values are supported, on systems    where <code>time_t</code> is signed.
pike.git/lib/modules/Calendar.pmod/tzdata/theory.html:1347:      <p>   Sources for time on other planets:   </p>      <ul>    <li>    Michael Allison and Robert Schmunk,    "<a href="https://www.giss.nasa.gov/tools/mars24/help/notes.html">Technical    Notes on Mars Solar Time as Adopted by the Mars24 Sunclock</a>" -  (2015-06-30). +  (2018-12-13).    </li>    <li>    Jia-Rui Chong, -  "<a href="http://articles.latimes.com/2004/jan/14/science/sci-marstime14">Workdays +  "<a href="https://www.latimes.com/archives/la-xpm-2004-jan-14-sci-marstime14-story.html">Workdays    Fit for a Martian</a>", <cite>Los Angeles Times</cite>    (2004-01-14), pp A1, A20&ndash;A21.    </li>    <li>    Tom Chmielewski,    "<a href="https://www.theatlantic.com/technology/archive/2015/02/jet-lag-is-worse-on-mars/386033/">Jet    Lag Is Worse on Mars</a>", <cite>The Atlantic</cite> (2015-02-26)    </li>    <li>    Matt Williams,