Neil Fuller | 0480f46 | 2019-04-09 19:23:35 +0100 | [diff] [blame] | 1 | This directory contains tooling to help when debugging time zone issues on |
| 2 | Android. |
| 3 | |
| 4 | dump-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 Fuller | beb929c | 2020-04-21 13:51:26 +0100 | [diff] [blame] | 12 | |
| 13 | visualize_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. |