changeset 82828:ae2770ed1e8e

(Time Zones): Explain that Calc will by default use daylight saving time determined by the calendar.
author Jay Belanger <jay.p.belanger@gmail.com>
date Sat, 25 Aug 2007 01:35:31 +0000
parents afbae3f37caf
children ecf4a0390a7e
files man/calc.texi
diffstat 1 files changed, 36 insertions(+), 59 deletions(-) [+]
line wrap: on
line diff
--- a/man/calc.texi	Sat Aug 25 00:30:23 2007 +0000
+++ b/man/calc.texi	Sat Aug 25 01:35:31 2007 +0000
@@ -17095,69 +17095,45 @@
 
 @cindex @code{TimeZone} variable
 @vindex TimeZone
-With no arguments, @code{calc-time-zone} or @samp{tzone()} obtains an
-argument from the Calc variable @code{TimeZone} if a value has been
-stored for that variable.  If not, Calc runs the Unix @samp{date}
-command and looks for one of the above time zone names in the output;
-if this does not succeed, @samp{tzone()} leaves itself unevaluated.
-The time zone name in the @samp{date} output may be followed by a signed
-adjustment, e.g., @samp{GMT+5} or @samp{GMT+0500} which specifies a
-number of hours and minutes to be added to the base time zone.
-Calc stores the time zone it finds into @code{TimeZone} to speed
-later calls to @samp{tzone()}.
-
-The special time zone name @code{local} is equivalent to no argument,
-i.e., it uses the local time zone as obtained from the @code{date}
-command.
-
-If the time zone name found is one of the standard or daylight
-saving zone names from the above table, and Calc's internal
-daylight saving algorithm says that time and zone are consistent
-(e.g., @code{PDT} accompanies a date that Calc's algorithm would also
-consider to be daylight saving, or @code{PST} accompanies a date
-that Calc would consider to be standard time), then Calc substitutes
-the corresponding generalized time zone (like @code{PGT}).
-
-If your system does not have a suitable @samp{date} command, you
-may wish to put a @samp{(setq var-TimeZone ...)} in your Emacs
-initialization file to set the time zone.  (Since you are interacting
-with the variable @code{TimeZone} directly from Emacs Lisp, the
-@code{var-} prefix needs to be present.)  The easiest way to do
-this is to edit the @code{TimeZone} variable using Calc's @kbd{s T}
-command, then use the @kbd{s p} (@code{calc-permanent-variable})
-command to save the value of @code{TimeZone} permanently.
+With no arguments, @code{calc-time-zone} or @samp{tzone()} will by
+default get the time zone and daylight saving information from the
+calendar (@pxref{Daylight Saving,Calendar/Diary,The Calendar and the Diary,
+emacs,The GNU Emacs Manual}).  To use a different time zone, or if the
+calendar does not give the desired result, you can set the Calc variable 
+@code{TimeZone} (which is by default @code{nil}) to an appropriate
+time zone name.  (The easiest way to do this is to edit the
+@code{TimeZone} variable using Calc's @kbd{s T} command, then use the
+@kbd{s p} (@code{calc-permanent-variable}) command to save the value of
+@code{TimeZone} permanently.)  
+If the time zone given by @code{TimeZone} is a generalized time zone,
+e.g., @code{EGT}, Calc examines the date being converted to tell whether
+to use standard or daylight saving time.  But if the current time zone
+is explicit, e.g., @code{EST} or @code{EDT}, then that adjustment is
+used exactly and Calc's daylight saving algorithm is not consulted.
+The special time zone name @code{local}
+is equivalent to no argument; i.e., it uses the information obtained
+from the calendar.
 
 The @kbd{t J} and @code{t U} commands with no numeric prefix
-arguments do the same thing as @samp{tzone()}.  If the current
-time zone is a generalized time zone, e.g., @code{EGT}, Calc
-examines the date being converted to tell whether to use standard
-or daylight saving time.  But if the current time zone is explicit,
-e.g., @code{EST} or @code{EDT}, then that adjustment is used exactly
-and Calc's daylight saving algorithm is not consulted.
-
-Some places don't follow the usual rules for daylight saving time.
-The state of Arizona, for example, does not observe daylight saving
-time.  If you run Calc during the winter season in Arizona, the
-Unix @code{date} command will report @code{MST} time zone, which
-Calc will change to @code{MGT}.  If you then convert a time that
-lies in the summer months, Calc will apply an incorrect daylight
-saving time adjustment.  To avoid this, set your @code{TimeZone}
-variable explicitly to @code{MST} to force the use of standard,
-non-daylight-saving time.
+arguments do the same thing as @samp{tzone()}; namely, use the
+information from the calendar if @code{TimeZone} is @code{nil}, 
+otherwise use the time zone given by @code{TimeZone}.
 
 @vindex math-daylight-savings-hook
 @findex math-std-daylight-savings
-By default Calc always considers daylight saving time to begin at
-2 a.m.@: on the second Sunday of March (for years from 2007 on) or on
-the last Sunday in April (for years before 2007), and to end at 2 a.m.@:
-on the first Sunday of November. (for years from 2007 on) or the last
-Sunday in October (for years before 2007).  These are the rules that have
-been in effect in much of North America since 1966 and takes into
-account the rule change that began in 2007.  If you are in a
-country that uses different rules for computing daylight saving time,
-you have two choices:  Write your own daylight saving hook, or control
-time zones explicitly by setting the @code{TimeZone} variable and/or
-always giving a time-zone argument for the conversion functions.
+When Calc computes the daylight saving information itself (i.e., when 
+the @code{TimeZone} variable is set), it will by default consider
+daylight saving time to begin at 2 a.m.@: on the second Sunday of March
+(for years from 2007 on) or on the last Sunday in April (for years
+before 2007), and to end at 2 a.m.@: on the first Sunday of
+November. (for years from 2007 on) or the last Sunday in October (for
+years before 2007).  These are the rules that have been in effect in
+much of North America since 1966 and take into account the rule change
+that began in 2007.  If you are in a country that uses different rules
+for computing daylight saving time, you have two choices: Write your own
+daylight saving hook, or control time zones explicitly by setting the
+@code{TimeZone} variable and/or always giving a time-zone argument for
+the conversion functions.
 
 The Lisp variable @code{math-daylight-savings-hook} holds the
 name of a function that is used to compute the daylight saving
@@ -17221,7 +17197,8 @@
 from 3 a.m.@: to 4 a.m.  At the end of daylight saving time, the
 hour from 1 a.m.@: to 2 a.m.@: repeats itself; converting a date/time
 form that falls in this hour results in a time value for the first
-manifestation of that time (@emph{not} the one that occurs one hour later).
+manifestation of that time (@emph{not} the one that occurs one hour 
+later).
 
 If @code{math-daylight-savings-hook} is @code{nil}, then the
 daylight saving adjustment is always taken to be zero.