summaryrefslogtreecommitdiffstats
path: root/docs/nspr/reference/prtimeparameters.rst
blob: 4ddd01c7cdad38fa7aef37fcac208dc46f1cf9ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
PRTimeParameters
================

A representation of time zone information.


Syntax
------

.. code::

    #include <prtime.h>

    typedef struct PRTimeParameters {
        PRInt32 tp_gmt_offset;
        PRInt32 tp_dst_offset;
    } PRTimeParameters;


Description
-----------

Each geographic location has a standard time zone, and if Daylight
Saving Time (DST) is practiced, a daylight time zone. The
:ref:`PRTimeParameters` structure represents the local time zone
information in terms of the offset (in seconds) from GMT. The overall
offset is broken into two components:

``tp_gmt_offset``
   The offset of the local standard time from GMT.

``tp_dst_offset``
   If daylight savings time (DST) is in effect, the DST adjustment from
   the local standard time. This is most commonly 1 hour, but may also
   be 30 minutes or some other amount. If DST is not in effect, the
   tp_dst_offset component is 0.

For example, the US Pacific Time Zone has both a standard time zone
(Pacific Standard Time, or PST) and a daylight time zone (Pacific
Daylight Time, or PDT).

-  In PST, the local time is 8 hours behind GMT, so ``tp_gmt_offset`` is
   -28800 seconds. ``tp_dst_offset`` is 0, indicating that daylight
   saving time is not in effect.

-  In PDT, the clock is turned forward by one hour, so the local time is
   7 hours behind GMT. This is broken down as -8 + 1 hours, so
   ``tp_gmt_offset`` is -28800 seconds, and ``tp_dst_offset`` is 3600
   seconds.

A second example is Japan, which is 9 hours ahead of GMT. Japan does not
use daylight saving time, so the only time zone is Japan Standard Time
(JST). In JST ``tp_gmt_offset`` is 32400 seconds, and ``tp_dst_offset``
is 0.