Skip to main content

Easily parse Time Zone Information Format (TZif) files.

Project description

tzif-parser

Upload Python Package

tzif-parser is a Python library for parsing and handling Time Zone Information Format (TZif) files. These files are used to store time zone information, including transitions, UTC offsets, and daylight saving time information.

Features

  • Parse TZif files and extract time zone information.
  • Convert transition times to local wall and standard times.
  • Read POSIX time zone strings.

Installation

To install tzif-parser, install it from PyPI using pip:

pip install tzif-parser

Usage

Here's an example of how to use tzif-parser to read a TZif file and extract time zone information:

from datetime import datetime
from tzif_parser import TimeZoneInfo

tz_info = TimeZoneInfo.read("America/New_York")

print(tz_info)
print(tz_info.header)
print(tz_info.body)
print(tz_info.footer)

current_transition = tz_info.body.find_transition(datetime.now())

Classes

TimeZoneInfo

Represents the time zone information parsed from a TZif file.

Properties

  • version: The version of the TZif file.
  • header: The header data of the TZif file.
  • body: The body data of the TZif file.
  • footer: The POSIX time zone information.

TimeZoneInfoHeader

Represents the header data of a TZif file.

Properties

  • version: The version of the TZif file.
  • is_utc_flag_count: The number of UTC/local indicators.
  • wall_standard_flag_count: The number of standard/wall indicators.
  • leap_second_transitions_count: The number of leap second transitions.
  • transitions_count: The number of transition times.
  • local_time_type_count: The number of local time types.
  • timezone_abbrev_byte_count: The number of bytes used for time zone abbreviations.

TimeZoneInfoBody

Represents the body data of a TZif file.

Properties

  • transition_times: The list of transition times.
  • leap_second_transitions: The list of leap second transitions.
  • time_type_infos: The list of time type information.
  • time_type_indices: The list of time type indices.
  • timezone_abbrevs: The list of time zone abbreviations.
  • wall_standard_flags: The list of standard/wall flags.
  • is_utc_flags: The list of UTC/local flags.
  • transitions: The list of time zone transitions.

TimeZoneTransition

Represents a single time zone transition.

Properties

  • transition_time_local_standard: The local standard time of the transition.
  • transition_time_local_wall: The local wall time of the transition.
  • transition_time_utc: The UTC time of the transition.
  • abbreviation: The time zone abbreviation.
  • utc_offset_secs: The UTC offset in seconds.
  • utc_offset_hours: The UTC offset in hours.
  • dst_difference_secs: The DST component of the offset in seconds.
  • dst_difference_hours: The DST component of the offset in hours.
  • is_dst: Whether the transition is during daylight saving time.
  • wall_standard_flag: Metadata specifying whether the transition was originally provided in standard or wall time.
  • is_utc: Metadata specifying whether the transition was originally provided in UTC or local time.

PosixTzInfo

Represents the POSIX time zone information.

Properties

  • posix_string: The POSIX time zone string.
  • standard_abbrev: The standard time abbreviation.
  • utc_offset_secs: The UTC offset in seconds.
  • utc_offset_hours: The UTC offset in hours.
  • dst_abbrev: The daylight saving time abbreviation.
  • dst_offset_secs: The DST offset in seconds.
  • dst_offset_hours: The DST offset in hours.
  • dst_start: The start of daylight saving time.
  • dst_end: The end of daylight saving time.
  • dst_difference_secs: The difference between DST and standard time in seconds.
  • dst_difference_hours: The difference between DST and standard time in hours.

Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tzif_parser-0.0.13.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tzif_parser-0.0.13-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file tzif_parser-0.0.13.tar.gz.

File metadata

  • Download URL: tzif_parser-0.0.13.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for tzif_parser-0.0.13.tar.gz
Algorithm Hash digest
SHA256 c9bb47f7806d46e1b9b2e44339a8d1fae9dee16b9c0e6b7fdcd8a7ccc0d9adac
MD5 01338984c0a1c8b8b031529c18847569
BLAKE2b-256 fd44f739ac79e32f9819e5d9e8080491027765267b4b10d3a896c90c9c70578e

See more details on using hashes here.

File details

Details for the file tzif_parser-0.0.13-py3-none-any.whl.

File metadata

  • Download URL: tzif_parser-0.0.13-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for tzif_parser-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 43c01285c65599987d810819c54715fce2c1e23de30c08cc931e155591af602d
MD5 7310d6afe2d9478697d3fdbdde9c18cb
BLAKE2b-256 d746e2025dc4334b1175ef12561a75551cb46c7f828546eb53730f9afe977348

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page