Symbian3/PDK/Source/GUID-71DCEB48-8E8C-59A0-A99F-23245FF2DF13.dita
changeset 9 59758314f811
parent 5 f345bda72bc4
equal deleted inserted replaced
8:ae94777fff8f 9:59758314f811
     7     Nokia Corporation - initial contribution.
     7     Nokia Corporation - initial contribution.
     8 Contributors: 
     8 Contributors: 
     9 -->
     9 -->
    10 <!DOCTYPE concept
    10 <!DOCTYPE concept
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    12 <concept id="GUID-71DCEB48-8E8C-59A0-A99F-23245FF2DF13" xml:lang="en"><title>timezoneconversion:
    12 <concept id="GUID-71DCEB48-8E8C-59A0-A99F-23245FF2DF13" xml:lang="en"><title>timezoneconversion: Time Zone Conversion Example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
    13 Time Zone Conversion Example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
    13 <section id="GUID-340A1745-6C2C-41E5-A637-346F32F11A21"><title>Download</title> <p>Click on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-c9019536-b967-4421-8221-150afb121307.zip" scope="external">TZExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-c9019536-b967-4421-8221-150afb121307.html" scope="peer">browse</xref> to view the example code. </p> </section>
    14 <section id="GUID-340A1745-6C2C-41E5-A637-346F32F11A21"><title>Download</title> <p>Click on the following link to download
    14 <section id="GUID-A36EB85A-A039-4396-BF31-2780D57E85F7"><title>Description</title> <p>This example code first connects to the time zone server (class <xref href="GUID-052221AD-916E-3E47-9510-AC0495A19A70.dita"><apiname>RTz</apiname></xref>). Then it uses <xref href="GUID-052221AD-916E-3E47-9510-AC0495A19A70.dita#GUID-052221AD-916E-3E47-9510-AC0495A19A70/GUID-A7D33D36-8AA5-3775-B4B8-36C30EF88DB0"><apiname>RTz::ConvertToLocalTime()</apiname></xref> to convert a UTC time to local time. The time to convert and the
    15 the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-c9019536-b967-4421-8221-150afb121307.zip" scope="external">TZExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-c9019536-b967-4421-8221-150afb121307.html" scope="peer">browse</xref> to view the example code. </p> </section>
    15 time zone to convert it to are randomly chosen. This demonstrates
    16 <section id="GUID-A36EB85A-A039-4396-BF31-2780D57E85F7"><title>Description</title> <p>This example code first connects to
    16 that the time zone server can convert any time, past, present or future,
    17 the time zone server (class <xref href="GUID-052221AD-916E-3E47-9510-AC0495A19A70.dita"><apiname>RTz</apiname></xref>). Then it uses <xref href="GUID-052221AD-916E-3E47-9510-AC0495A19A70.dita#GUID-052221AD-916E-3E47-9510-AC0495A19A70/GUID-A7D33D36-8AA5-3775-B4B8-36C30EF88DB0"><apiname>RTz::ConvertToLocalTime()</apiname></xref> to
    17 for any time zone, as long as a rule exists for the conversion. Conversion
    18 convert a UTC time to local time. The time to convert and the time zone to
    18 rules are stored in a native Symbian database that is a compressed
    19 convert it to are randomly chosen. This demonstrates that the time zone server
    19 form of the Olson time zone database (<xref href="http://www.twinsun.com/tz/tz-link.htm" scope="external">http://www.twinsun.com/tz/tz-link.htm</xref>). The database can be configured by phone manufacturers to save
    20 can convert any time, past, present or future, for any time zone, as long
    20 space. </p> <p>The example then converts the current local time for
    21 as a rule exists for the conversion. Conversion rules are stored in a native
    21 the system time zone to the current local time for a different time
    22 Symbian database that is a compressed form of the Olson time
    22 zone. This is a two stage process. First, the local time is converted
    23 zone database (<xref href="http://www.twinsun.com/tz/tz-link.htm" scope="external">http://www.twinsun.com/tz/tz-link.htm</xref>).
    23 to UTC using <xref href="GUID-052221AD-916E-3E47-9510-AC0495A19A70.dita#GUID-052221AD-916E-3E47-9510-AC0495A19A70/GUID-645162AA-631E-3125-A002-82EB8D91DB08"><apiname>RTz::ConvertToUniversalTime()</apiname></xref>. When
    24 The database can be configured by phone manufacturers to save space. </p> <p>The
    24 converting between local and UTC times for the current system time
    25 example then converts the current local time for the system time zone to the
    25 zone, there is no need to specify the time zone ID. Then UTC is converted
    26 current local time for a different time zone. This is a two stage process.
    26 to local time for the other time zone. Before the example terminates,
    27 First, the local time is converted to UTC using <xref href="GUID-052221AD-916E-3E47-9510-AC0495A19A70.dita#GUID-052221AD-916E-3E47-9510-AC0495A19A70/GUID-645162AA-631E-3125-A002-82EB8D91DB08"><apiname>RTz::ConvertToUniversalTime()</apiname></xref>.
    27 the connection to the server is closed. </p> <p>No special capabilities
    28 When converting between local and UTC times for the current system time zone,
    28 are needed to do time zone conversion. </p> <p>Class <xref href="GUID-0B5453C5-76A2-31B2-A32C-2CDC1F3367CE.dita"><apiname>CTzId</apiname></xref> identifies a time zone. It stores the identifier either as text,
    29 there is no need to specify the time zone ID. Then UTC is converted to local
    29 (for instance Australia/Sydney), or as a number. Numeric time zone
    30 time for the other time zone. Before the example terminates, the connection
    30 IDs are assigned by the phone manufacturer, so can vary from phone
    31 to the server is closed. </p> <p>No special capabilities are needed to do
    31 to phone. </p> <p>For efficiency, the time zone server caches a copy
    32 time zone conversion. </p> <p>Class <xref href="GUID-0B5453C5-76A2-31B2-A32C-2CDC1F3367CE.dita"><apiname>CTzId</apiname></xref> identifies a
    32 of a range of conversion rules for the current time zone. These cached
    33 time zone. It stores the identifier either as text, (for instance Australia/Sydney),
    33 rules are <i>actualised</i>, meaning they have been expanded from
    34 or as a number. Numeric time zone IDs are assigned by the phone manufacturer,
    34 the encoded compact format as stored in the database, so are quicker
    35 so can vary from phone to phone. </p> <p>For efficiency, the time zone server
    35 to access. </p> <p>Class <xref href="GUID-37A4A4ED-FFF8-3C98-B028-EA1947EA7BEF.dita"><apiname>CTzConverter</apiname></xref>, which is
    36 caches a copy of a range of conversion rules for the current time zone. These
    36 not used in this example, provides an alternative conversion API to <xref href="GUID-052221AD-916E-3E47-9510-AC0495A19A70.dita"><apiname>RTz</apiname></xref>. It caches 5 years' worth of conversion rules for a
    37 cached rules are <i>actualised</i>, meaning they have been expanded from the
    37 specific time zone (either the time zone specified in the conversion
    38 encoded compact format as stored in the database, so are quicker to access. </p> <p>Class <xref href="GUID-37A4A4ED-FFF8-3C98-B028-EA1947EA7BEF.dita"><apiname>CTzConverter</apiname></xref>,
    38 function, or the system time zone), on the client side, so avoiding
    39 which is not used in this example, provides an alternative conversion API
    39 the need for an an IPC call for each conversion. <codeph>CTzConverter</codeph> is more efficient than <codeph>RTz</codeph> when doing multiple
    40 to <xref href="GUID-052221AD-916E-3E47-9510-AC0495A19A70.dita"><apiname>RTz</apiname></xref>. It caches 5 years' worth of conversion rules for
    40 conversions for a single time zone. </p> </section>
    41 a specific time zone (either the time zone specified in the conversion function,
    41 <section id="GUID-A56CA8E4-4794-41A4-9C12-F5867525DD8C"><title>Usage</title><p> This is a console application, so does not have a GUI. It builds
    42 or the system time zone), on the client side, so avoiding the need for an
    42 an executable called<filepath> TZExample.exe</filepath> in the standard
    43 an IPC call for each conversion. <codeph>CTzConverter</codeph> is more efficient
    43 location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for CodeWarrior). After launching the executable, depending on the
    44 than <codeph>RTz</codeph> when doing multiple conversions for a single time
    44 emulator you are using, you may need to task away from the app launcher/shell
    45 zone. </p> </section>
    45 screen to view the console.</p></section>
    46 <section id="GUID-A56CA8E4-4794-41A4-9C12-F5867525DD8C"><title>Usage</title><p> This is a console application, so does not
    46 <section id="GUID-2E27B7FB-A188-450C-8BA3-485FFB63F66C"><title>Class
    47 have a GUI. It builds an executable called<filepath> TZExample.exe</filepath> in
    47 Summary</title><ul>
    48 the standard location (<filepath>\epoc32\release\winscw\&lt;build_variant&gt;</filepath> for
    48 <li><p><xref href="GUID-052221AD-916E-3E47-9510-AC0495A19A70.dita"><apiname>RTz</apiname></xref></p></li>
    49 CodeWarrior). After launching the executable, depending on the emulator you
    49 <li><p><xref href="GUID-0B5453C5-76A2-31B2-A32C-2CDC1F3367CE.dita"><apiname>CTzId</apiname></xref></p></li>
    50 are using, you may need to task away from the app launcher/shell screen to
    50 <li><p><xref href="GUID-BE7D196E-357B-36BE-80BB-CCBBE00DFA90.dita#GUID-BE7D196E-357B-36BE-80BB-CCBBE00DFA90/GUID-C58E6A33-D690-3071-A93D-A2509D989AE4"><apiname>ESock::TTime</apiname></xref></p></li>
    51 view the console.</p></section>
    51 </ul></section>
    52 <section id="GUID-2E27B7FB-A188-450C-8BA3-485FFB63F66C"><title>Class Summary</title><p> <xref href="GUID-052221AD-916E-3E47-9510-AC0495A19A70.dita"><apiname>RTz</apiname></xref></p><p>  <xref href="GUID-0B5453C5-76A2-31B2-A32C-2CDC1F3367CE.dita"><apiname>CTzId</apiname></xref> </p><p> <xref href="GUID-A2D3BA72-9B27-3BFF-950A-D7E3B2004821.dita"><apiname>TTime</apiname></xref> </p></section>
       
    53 </conbody></concept>
    52 </conbody></concept>