command-line tool to convert a date and time to several time zones at once
Project description
tzconv: convert a date and time to several time zones at once
This Python package provides a small command-line utility to convert a YYYY-MM-DD HH:MM formatted date and time to several other time zones.
Installation
tzconv is available through PyPI:
$ python3 -m pip install tzconv
Alternatively, you can install it directly from the Codeberg Git repository:
$ git clone https://codeberg.org/gnyeki/tzconv
$ python3 -m pip install --user ./tzconv
Usage
Basic usage
tzconv uses the time zone information available through your operating system, so time zones have to be specified accordingly:
$ tzconv \
-f America/New_York \
-t America/Los_Angeles \
-t America/Halifax \
-t Asia/Karachi \
-t Asia/Calcutta \
"2023-04-25 10:00"
EDT: 2023-04-25 10:00 (America/New_York)
PDT: 2023-04-25 07:00 (America/Los_Angeles)
ADT: 2023-04-25 11:00 (America/Halifax)
PKT: 2023-04-25 19:00 (Asia/Karachi)
IST: 2023-04-25 19:30 (Asia/Calcutta)
$
If the date is omitted, it imputes today's date:
$ tzconv \
-f America/New_York \
-t America/Los_Angeles \
-t America/Halifax \
-t Asia/Karachi \
-t Asia/Calcutta \
"10:00"
EDT: 2023-04-20 10:00 (America/New_York)
PDT: 2023-04-20 07:00 (America/Los_Angeles)
ADT: 2023-04-20 11:00 (America/Halifax)
PKT: 2023-04-20 19:00 (Asia/Karachi)
IST: 2023-04-20 19:30 (Asia/Calcutta)
$
Daylight savings
Daylight savings can complicate conversions.
However, thanks to the Python standard library, tzconv is aware of changes to daylight savings, and it infers the correct offsets.
For example, in March 2023, New York switched to daylight savings two weeks earlier than Budapest.
Notice the switch from EST/CET to EDT/CET, and finally to EDT/CEST:
$ tzconv -f America/New_York -t Europe/Budapest "2023-03-07 10:00"
EST: 2023-03-07 10:00 (America/New_York)
CET: 2023-03-07 16:00 (Europe/Budapest)
$ tzconv -f America/New_York -t Europe/Budapest "2023-03-14 10:00"
EDT: 2023-03-14 10:00 (America/New_York)
CET: 2023-03-14 15:00 (Europe/Budapest)
$ tzconv -f America/New_York -t Europe/Budapest "2023-03-28 10:00"
EDT: 2023-03-28 10:00 (America/New_York)
CEST: 2023-03-28 16:00 (Europe/Budapest)
$
Custom shell commands for common conversions
If you have a project that spans several time zones, it is convenient to define a command for it in your .bashrc, .zshrc, or equivalent dot file, depending on what shell you use.
For example, if you are using zsh, you can add the following to ~/.zshrc:
project_tz() {
tzconv \
--from-tz America/New_York \
--to-tz America/Los_Angeles \
--to-tz America/Halifax \
--to-tz Asia/Karachi \
--to-tz Asia/Calcutta \
"$*"
}
Now you can reload ~/.zshrc and use project_tz as a shell command:
$ . ~/.zshrc
$ project_tz 2023-04-25 10:00
EDT: 2023-04-25 10:00 (America/New_York)
PDT: 2023-04-25 07:00 (America/Los_Angeles)
ADT: 2023-04-25 11:00 (America/Halifax)
PKT: 2023-04-25 19:00 (Asia/Karachi)
IST: 2023-04-25 19:30 (Asia/Calcutta)
$
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tzconv-1.1.tar.gz.
File metadata
- Download URL: tzconv-1.1.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4690742eca016df2ce519d00a2fb1488e1f7716da132af81b59552907791837a
|
|
| MD5 |
fec5c6c9c3988d70d28304bd1dff7055
|
|
| BLAKE2b-256 |
4403e7c5bf8dbb197118c581ae804f37439c58c21275330e0620ac5c818b7981
|
File details
Details for the file tzconv-1.1-py3-none-any.whl.
File metadata
- Download URL: tzconv-1.1-py3-none-any.whl
- Upload date:
- Size: 3.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dce3af9450e1f659b7cceb662bd7f8e6b84b3b3b00e50ee2e29fd3eeabff92d8
|
|
| MD5 |
49e3e7112a60a19b1671a4f60a7fd018
|
|
| BLAKE2b-256 |
c8f3407b3b4865f13e9fa8e55dd2b88d058db1eb85af90a088284105b96ab2ca
|