pick a meeting time
Undertime - pick a meeting time
This program 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.
Timezones should be passed on the commandline and are matched against the list of known timezones, as defined by the pytz package. Exact matches are attempted at first, but if that fails, substring matches are allowed, which makes it possible to do this:
undertime.py New_York Los_Angeles
The complete list of timezones is also shown when the --list-zones commandline option is provided.
Colors are used to highlight the “work hours” where possible meeting times could overlap. You can change those work hours with the --start and --end flags. The number of zones matching those hours is listed in the last column.
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 dateparser or parsedatetime modules, if available). The current time is also shown, in bold. A configuration file can be used to set defaults.
Summary usage is available with the --help flag and full help in the manpage. Instructions for how to contribute to the project are in CONTRIBUTING.rst and there is a CODE_OF_CONDUCT.rst.
Known issues and limitations
Undertime was written using Python 3.5 and 3.7 and there is no guarantee it will work in older (or newer) Python releases.
Timezones – and time in general – are hard problems: the math is hard, and the zones constantly. What may be applicable to your location at the current time may not be reflected by your operating system or the chain of software used by this program to determine time. According to this video from Tom Scott, “you really should never, ever deal with timezones if you can help it”. This sounds a lot like what this program does, but do note that:
“What you learn, after dealing with timezones, is that what you do, is you put away your code, you don’t try and write anything to deal with this. You look at the people who have been there before you. You look at the first people, the people who’ve done this before, the people who’ve built the spaghetti code, and you go to them, and you thank them very much for making it open source, and you give them credit, and you take what they’ve made, you put it in your program. and you never ever look at it again. because that way lies madness.”
Time is an illusion we created to rationalize our unbearable ephemerality and is bound to be imprecise, confusing and flawed. It’s neither your fault or your computer’s: accept and embrace its humanity.
This program can be installed using pip from the PyPI repository, like so:
pip3 install undertime
The above assumes you’re running a distribution that installs the Python 3 version of pip as pip3, you might need to replace that with just pip on some setups.
This program is also packaged in Debian (since Debian 10 “buster”), so you can also install it with:
apt install undertime
If you downloaded this source code and want to install that directly, you can simply run:
pip3 install .
This program was written by Antoine Beaupré and is licensed under the AGPLv3+. It was inspired by the overtime-cli program and the timeanddate.com site. Another similar tool is worldchatclock.com and its beautiful round interface. I also found out about tzdiff a few months after writing undertime.
All of this wouldn’t have been possible without the pytz library written by Stuart Bishop, itself based on the Olson tz database founded by Arthur David Olson and currently maintained by Paul Eggert. Those packages are shipped to your favorite Debian distribution by package maintainers who struggle to keep up with those constant changes so credits should also go to the tzdata package maintainers (currently Adam Conrad, Aurelien Jarno, and Clint Adams) along with everyone in the Debian project keeping all those packages up to date. Thank you for dealing with humanity’s confusing, beautiful and complex quirks for all of us.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size undertime-2.4.0-py3-none-any.whl (27.0 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
Hashes for undertime-2.4.0-py3-none-any.whl