timezones-cli icon indicating copy to clipboard operation
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 demo of timezone cli search

Search based on timezone abbreviations

$ tz get "pst"

$ tz get "ist"

$ tz get "est"

$ tz get "cst"
Demo demo of timezone cli search

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 demo of timezone cli add
---

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 demo of timezone cli remove

Show local datetime of all saved timezones

$ tz show
Demo demo of timezone cli show
---

Select a single timezone from defaults

$ tz select
Demo demo of timezone cli select

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 demo of timezone cli select

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 demo of timezone cli with Docker

Contributing

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