#timezone #tz #hours #display #times #before #cli

app tzbuddy

tzbuddy simply diplays current date/time in several timezones, together with a few hours before and after

13 releases

0.3.1 Aug 30, 2022
0.3.0 Aug 30, 2022
0.2.0 Mar 3, 2022
0.1.10 Feb 21, 2021
0.1.9 Oct 31, 2020

#2155 in Command line utilities

Custom license

14KB
281 lines

Overview

build

tzbuddy is a simple cli to visualize times in different timezones. It displays the current hour as well past and future values.

$ tzbuddy --tz Europe/Rome --tz Europe/Dublin --tz "US/Eastern" --tz "US/Pacific" --tz "Asia/Tokyo"
 Asia/Tokyo    (JST) Wed 05:17 28/10/2020 ·  00+  01+  02+  03+  04+ | 05+|  06+  07+  08+  09+  10+  11+
 Europe/Rome   (CET) Tue 21:17 27/10/2020 ·  16   17   18   19   20  | 21 |  22   23   00+  01+  02+  03+
 Europe/Dublin (GMT) Tue 20:17 27/10/2020 ·  15   16   17   18   19  | 20 |  21   22   23   00+  01+  02+
 US/Eastern    (EDT) Tue 16:17 27/10/2020 ·  11   12   13   14   15  | 16 |  17   18   19   20   21   22
 US/Pacific    (PDT) Tue 13:17 27/10/2020 ·  08   09   10   11   12  | 13 |  14   15   16   17   18   19

Install

Binaries are provided for each tagged releases.

In alternative one install using cargo to build from source

cargo install tzbuddy

On macOS, with brew, you can use the brew tap repository

$ brew tap gbagnoli/tzbuddy
$ brew install tzbuddy

Usage

See tzbuddy --help for all available options.

tzbuddy uses timezones from the IANA database. A list of available timezones can be found on wikipedia.

Prior to version 0.3, tzbuddy did not support configuration files, and you had to create an alias on the shell.

Since version 0.3 there is support for configuration. Simply pass --save and tzbuddy will remember flags when running without. Eventual options on the commandline takes precedence. --no-config will skip loading the config. Running --save without any other option will save an empty config.

Development

there are git hooks one can use to automatically run checks before commit

ln -s $(pwd)/hooks/pre-commit.sh .git/hooks/pre-commit
ln -s $(pwd)/hooks/pre-push.sh .git/hooks/pre-push

to release:

  • install cargo release cargo install cargo-release
  • bump the version in Cargo.toml
  • make sure to build first so that Cargo.lock gets updated (cargo build)
  • commit the Cargo.toml/Cargo.lock files
  • run cargo release -v
  • run cargo release -v --execute to push the release

Dependencies

~8MB
~132K SLoC