UNDERTIME(1)

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

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)