UNDERTIME(1)

NAME
undertime - pick a meeting time

SYNOPSIS
undertime [--start HOUR] [--end HOUR] [--date WHEN] [--no-colors|--colors] [--no-default-zone|--default-zone] [--config FILE ] [timezones]
undertime --list-zones|-l
undertime --version

DESCRIPTION

undertime is a program that allows you to quickly pick a meeting time across multiple timezones for conference calls or other coordinated events. It shows all times of a given day for all the timezones selected, in a table that aligns the time so a line shows simultaneous times across all timezones. This takes into account daylight savings and other peculiarities (provided that the local timezone 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 timezones: the local timezone is first guessed and added to the list, then the arguments on the commandline are looked up in the internal timezone 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 timezone against the internal list, a warning is emitted. A complete list of timezones is shown when the --list-zones commandline option is provided.

You can also specify offsets instead of timezones, 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" timezones Etc/GMT{+|-}X: they are the inverse of each other (ie. EDT, UTC-4 is Etc/GMT+4, yes, that's confusing). To specify the Etc timezones the full timezone 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 can also use the --date time to pick an arbitrary time for the meeting, using natural language (as parsed by the parsedatetime library). The current time is also shown, in bold.

OPTIONS

--start HOUR, -s HOUR
    start of working day, in hours

--end HOUR, -e HOUR
    end of working day, in hours

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

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

--no-default-zone, ---default-zone
    do not show current timezone first

--no-unique, --unique
    deduplicate timezones

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

--overlap-min N
    show only times with N overlapping timezones.

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

--config FILE
    load YAML config FILE as defaults.

--verbose, -v
    enable verbose messages

--debug
    enable debugging messages

--list-zones, -l
    show valid timezones and exit

--version
    show version number and exit

--selftest
    run test suite

-h, --help
    show summary of options and defaults

ENVIRONMENT

TZ  Default timezone.

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 timezones. For example, this means timezones 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 "New York" "Los Angeles" Paris
    Display possible meeting times for three major cities.

undertime -s 8 -e 18 --date 2014-03-15
    Show a longer work day in march 2014.

undertime --date "2014-03-15" --overlap-min 3
    Show only times that match in three timezones.

  Configuration file

Set the above timezones as default:
        timezones: [US/Central, US/Pacific, Europe/Paris]

Set the work day to be between 10 and 1800 hours:
        start: 10
        end: 18

Disable colors:
        colors: false

Disable the overlap count column (labeled "n"):
        overlap_show: false

SEE ALSO
tzselect(8) tzfile(5)