blob: 4926677723675789f5a36e722141215d4b0e792b [file] [log] [blame]
Neil Fuller0480f462019-04-09 19:23:35 +01001This directory contains tooling to help when debugging time zone issues on
2Android.
3
4dump-tzdata.py
5 - A tool that takes a tzdata file and splits it into component tzfiles,
6 zone.tab, etc. Run it with --help for usage. The individual tzfiles can
7 be inspected with tools like zdump, for example with "zdump -V <tzfile>"
8
9 It also dumps human-readable CSV files of the (v1) content currently used by
10 Android's ZoneInfo class. These can be inspected and compared with dumps from
11 other tzdata files easily using your favourite text diffing tool.
Neil Fullerbeb929c2020-04-21 13:51:26 +010012
13visualize_zone_trees.py
14 - A tool that visualizes time zones, specifically when time zones "sync up"
15 (i.e. stop being distinct). Time zone IDs are created in the tzdb whenever
16 there is a distinction between time zones, e.g. if a sub-region moved
17 from being the same as one major region to be the same as a different major
18 region, then a new time zone ID is required to represent the sub-region's
19 behavior because neither of the IDs for the major region describe the time
20 zone behavior of the sub-region throughout time. Once created, zone IDs
21 persist in the tzdb forever. Zone trees are used to determine if zone IDs
22 are still needed in order to represent relevant distinctions, e.g. does
23 Android still need to offer a choice between two zones that will be the
24 same from time X until the end of time? If the answer is no, one of the
25 zones can be used / shown to users and the other need not be.