undertime(1)

pick a meeting time

Section 1 undertime bookworm source

Description

UNDERTIME

NAME

undertime - pick a meeting time

SYNOPSIS

undertime [OPTIONS] [--timezones ZONES] [WHEN]
undertime
-l|--list-zones
undertime
-V|--version
undertime
--selftest

DESCRIPTION

undertime is a program that allows you to quickly pick a meeting time across multiple time zones for conference calls or other coordinated events. It shows all times of a given day for all the time zones selected, in a table that aligns the time so a line shows simultaneous times across all time zones. This takes into account daylight savings and other peculiarities (provided that the local time zone database is up to date) so you can also schedule meetings in the future as well.

An educated guess is made to find the relevant time zones: the local time zone is first guessed and added to the list, then the arguments on the command line are looked up in the internal time zone database. Spaces in arguments are replaced by underscores and all-caps versions of lowercase strings are tried as well. When failing to match a provided time zone against the internal list, a warning is emitted. A complete list of time zones is shown when the --list-zones command line option is provided.

You can also specify offsets instead of time zones, with the syntax UTC{+|-}offset or GMT{+|-}offset (for example UTC+2 for CEST or GMT-4 for EDT). Those are discouraged as daylight savings are not taken into account so the computed time might not represent the expected local time. Don’t confuse those patterns with the "standard" time zones Etc/GMT{+|-}X: they are the inverse of each other (i.e. EDT, UTC-4 is Etc/GMT+4, yes, that’s confusing). To specify the Etc time zones the full time zone needs to given (for example Etc/GMT-2). Those should also be avoided: just use normal, location-based zones instead of those arbitrary offsets.

Colors are used to highlight the "work hours" where possible meeting times could overlap and the current time is marked in bold. Colors are replaced by an underscore suffix and the current time by a star if colors are disabled. You can change those work hours with the --start and --end flags.

Because daylight savings may actually change time, you should also pick an arbitrary time for the meeting (WHEN), using natural language (as parsed by the parsedatetime library). The current time is also shown, in bold.

OPTIONS

-s HOUR--start HOUR

start of working day, in hours

-e HOUR--end HOUR

end of working day, in hours

--no-colors, --colors

do not show colors. enabled by default if output is a terminal.

--timezones ZONES

target date for the meeting, supports arbitrary dates like "in two weeks"

--no-default-zone, --default-zone

do not show current time zone first

--no-unique, --unique

deduplicate time zones

--no-overlap, --overlap

do not show the overlap column (labeled "n"), displayed by default.

--overlap-min N

show only times with N overlapping time zones.

--format FORMAT

pass FORMAT to the tabulate package to format the main table.

--config FILE

load YAML config FILE as defaults.

-v, --verbose

enable verbose messages

--debug

enable debugging messages

-l, --list-zones

show valid time zones and exit

-V, --version

show version number and exit

--selftest

run test suite

-h, --help

show summary of options and defaults

ENVIRONMENT

TZ

Default time zone.

NO_COLOR

If this environment variable is defined, no color will be shown unless the --colors flag is passed. Comforming to NO_COLOR informal standard

FILES

˜/.config/undertime.yml $XDG_CONFIG_DIR/undertime.yml

The configuration file loaded by default, if present. The configuration file is formatted as a YAML dictionary, where keys are the long option names (without dashes) and the values are their values. Comments start with the # character. Options provided as arguments override the defaults set in the configuration file, particularly time zones. For example, this means time zones specified in the configuration file are ignored ignored when also specified as arguments. The --config parameter allows you to load another configuration file, on top of the default one, using the same logic, allowing you to have multiple "presets".

EXAMPLE

Command line options

undertime --timezones "New York" "Los Angeles" Paris

Display possible meeting times for three major cities.

undertime -s 8 -e 18 2014-03-15

Show a longer work day in march 2014.

undertime --overlap-min 3 2014-03-15

Show only times that match in three time zones.

undertime --timezones "New York" "Los Angeles" Paris -- tomorrow

Show times for those three timezones, but for tomorrow. Note the options separator (--) is required otherwise the date will be parsed as a timezone.

Configuration file

A sample configuration file should be available in /usr/share/doc/undertime/examples/undertime.yml

SEE ALSO

tzselect(8) tzfile(5)
Time zones list
parsedatetime Python package

See Also