ae678d796b
X-SVN-Rev: 37364 |
||
---|---|---|
.. | ||
asctime.c | ||
ialloc.c | ||
icuregions | ||
icuzdump.cpp | ||
icuzdump.vcxproj | ||
icuzdump.vcxproj.filters | ||
icuzones | ||
localtime.c | ||
Makefile.in | ||
private.h | ||
readme.txt | ||
scheck.c | ||
tz2icu.cpp | ||
tz2icu.h | ||
tzfile.h | ||
tzselect.ksh | ||
zdump.c | ||
zic.c |
********************************************************************** * Copyright (c) 2003-2014, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** * Author: Alan Liu * Created: August 18 2003 * Since: ICU 2.8 ********************************************************************** Note: this directory currently contains tzcode as of tzcode2014b.tar.gz with localtime.c patches from tzcode2014b.tar.gz ---------------------------------------------------------------------- OVERVIEW This file describes the tools in icu/source/tools/tzcode The purpose of these tools is to process the zoneinfo or "Olson" time zone database into a form usable by ICU4C (release 2.8 and later). Unlike earlier releases, ICU4C 2.8 supports historical time zone behavior, as well as the full set of Olson compatibility IDs. References: ICU4C: http://www.icu-project.org/ Olson: ftp://ftp.iana.org/tz/releases/ ---------------------------------------------------------------------- ICU4C vs. ICU4J For ICU releases >= 2.8, both ICU4C and ICU4J implement full historical time zones, based on Olson data. The implementations in C and Java are somewhat different. The C implementation is a self-contained implementation, whereas ICU4J uses the underlying JDK 1.3 or 1.4 time zone implementation. Older versions of ICU (C and Java <= 2.6) implement a "present day snapshot". This only reflects current time zone behavior, without historical variation. Furthermore, it lacks the full set of Olson compatibility IDs. ---------------------------------------------------------------------- BACKGROUND The zoneinfo or "Olson" time zone package is used by various systems to describe the behavior of time zones. The package consists of several parts. E.g.: Index of ftp://ftp.iana.org/tz/releases/ tzcode2014b.tar.gz 172 KB 3/25/2014 05:11:00 AM tzdata2014b.tar.gz 216 KB 3/25/2014 05:11:00 AM ICU only uses the tzdataYYYYV.tar.gz files, where YYYY is the year and V is the version letter ('a'...'z'). This directory has partial contents of tzcode checked into ICU ---------------------------------------------------------------------- HOWTO 0. Note, these instructions will only work on POSIX type systems. 1. Obtain the current versions of tzdataYYYYV.tar.gz (aka `tzdata') from the FTP site given above. Either manually download or use wget: $ cd {path_to}/icu/source/tools/tzcode $ wget "ftp://ftp.iana.org/tz/releases/tzdata*.tar.gz" 2. Copy only one tzdata*.tar.gz file into the icu/source/tools/tzcode/ directory (this directory). *** Make sure you only have ONE FILE named tzdata*.tar.gz in the directory. 3. Build ICU normally. You will see a notice "updating zoneinfo.txt..." ### Following instructions for ICU maintainers only ### 4. Obtain the current version of tzcodeYYYY.tar.gz from the FTP site to this directory. 5. Run make target "check-dump". This target extract makes the original tzcode and compile the original tzdata with icu supplemental data (icuzones). Then it makes zdump / icuzdump and dump all time transitions for all ICU timezone to files under zdumpout / icuzdumpout directory. When they produce different results, the target returns the error. 6. Don't forget to check in the new zoneinfo64.txt (from its location at {path_to}/icu/source/data/misc/zoneinfo64.txt) into SVN.