timezones-cli
timezones-cli copied to clipboard
CLI toolkit for timezones :earth_asia:
Timezones CLI
CLI toolkit for timezones:zap:

What can you do with timezones-cli
? :sparkles:
- Search for date and time based on city, country, or timezones.
- Manage dashboard for timezones you frequently view.
- Get UTC date and time based on your local timezone or any timezones.
Contents
- Installation
-
Usage
- Search for local date time
- Search based on timezone abbreviations
- Add timezones
- Remove timezones
- Show local datetime of all saved timezones
- Select a single timezone from defaults
- Get UTC time
- Run using Docker :whale:
- Contributing
Installation
$ pip3 install timezones-cli
To run this CLI using Docker, check Run using Docker :whale:.
NOTE: List of country codes or timezone names :earth_asia:
Use
-t
flag to toggle 24 hours format.
Usage
Search for local date time
You can use short country code like 'AE', 'RU', 'US' and so on.
You can search via city like: 'Paris', 'London', 'Moscow', 'Chicago' and so on.
$ tz search "us"
$ tz search "Nepal"
$ tz search "Paris"
Demo

Search based on timezone abbreviations
$ tz get "pst"
$ tz get "ist"
$ tz get "est"
$ tz get "cst"
Demo

Add timezones
Timezones added to the config file are treated as the default timezones which is triggered by the tz show
command.
file is stored at ~/.tz-cli
$ tz add "Asia/Kathmandu"
Demo

Remove timezones
There are two ways for removing timezones from the config file. Using the --interactive
mode and passing the the --name
flag.
$ tz remove -i
$ tz remove --name "Asia/Kathmandu"
Demo

Show local datetime of all saved timezones
$ tz show
Demo

Select a single timezone from defaults
$ tz select
Demo

Get UTC time
Get UTC time based on current system time.
tz utc --help
$ tz utc
Get UTC time based on specified time and timezone.
$ tz utc <time> <timezone>
$ tz utc "11:45PM" "Asia/Kathmandu"
Demo

Run using Docker :whale:
docker pull ghcr.io/yankeexe/timezones-cli:latest
Verify signature of the image: requires cosign.
COSIGN_EXPERIMENTAL=true cosign verify ghcr.io/yankeexe/timezones-cli:latest
Create a config file manually first.
$ touch ~/.tz-cli
$ docker run --rm -it -v ${HOME}/.tz-cli:/home/tz/.tz-cli ghcr.io/yankeexe/timezones-cli search us
For convenience you can add alias of the command to your shell config:
$ echo "alias tz='docker run --rm -it -v ${HOME}/.tz-cli:/home/tz/.tz-cli ghcr.io/yankeexe/timezones-cli'" >> ~/.bashrc
$ source ~/.bashrc
$ echo "alias tz='docker run --rm -it -v ${HOME}/.tz-cli:/home/tz/.tz-cli ghcr.io/yankeexe/timezones-cli'" >> ~/.zshrc
$ source ~/.zshrc
# Use alias to invoke timezones-cli
$ tz search Nepal
For local debugging: Use the make run
command followed by the command you want to run against the tz
binary.
$ make run cmd="get ist"
Demo

Contributing
For guidance on setting up a development environment and how to make a contribution to timezones-cli
, see the contributing guidelines.