跳转到主要内容

选择会议时间

项目描述

Undertime - 选择会议时间

此程序允许您快速选择多个时区的会议时间,用于电话会议或其他协调活动。它显示所选时区给定日期的所有时间,在一个表格中对齐时间,以便一条线显示所有时区的同时时间。这考虑了夏令时和其他特殊情况(前提是本地时区数据库是最新的),因此您还可以安排未来的会议。

screenshot of undertime computing possible meeting time for multiple timezones on a daylight savings switch in the America/Vancouver, America/New_York, UTC and Europe/Paris timezones Say thanks to the author

用法

时区应通过命令行传递,并匹配由已知时区列表定义的时区,如pytz包所述。首先尝试精确匹配,但如果没有成功,则允许子字符串匹配,这使得可以进行以下操作

undertime --timezones New_York Los_Angeles

当提供--list-zones命令行选项时,也会显示时区的完整列表。请注意,在最近的tzdata版本中,已经删除了像US/EasternUS/Pacific这样的传统区域,以及其他许多区域。安装tzdata-legacy包以恢复这些。

由于夏令时可能会实际改变时间,您也可以指定时间来选择会议的任意时间,使用自然语言(由dateparserparsedatetime模块解析,如果可用)。当前时间也会以粗体显示。例如,这将在今天和明天同一时间显示时间“明天”。

明天公休时间

或者下一个9月21日当地时间19:00

9月21日公休时间19:00

尽可能使用颜色突出显示“工作时间”,在那里可能的会议时间可能会重叠。您可以使用--start--end标志来更改这些工作时间。匹配这些时间的时区数量列在最后一列。

输出格式由tabulate程序控制。有关可能输出的更多信息,请参阅tabulate文档

可以使用配置文件来设置默认值,有关示例,请参阅undertime.yml文件。

使用--help标志可以获得摘要用法,在man页面上可以获得完整帮助。有关如何为项目做出贡献的说明请参阅CONTRIBUTING.rst,还有一个CODE_OF_CONDUCT.rst

已知问题和限制

Undertime是用Python 3.5和3.7编写的,无法保证它在较旧(或较新)的Python版本中工作。

时区——以及一般的时间——是难题:数学很复杂,区域不断变化。可能适用于您当前位置的时间可能不会反映您的操作系统或该程序用于确定时间的软件链。根据Tom Scott的这段视频,“如果你能帮忙,你真的永远不应该,永远不要处理时区”。这听起来很像这个程序所做的事情,但请注意

“处理时区后,你会学到的是,你所做的是放下你的代码,你不会试图编写任何处理这些内容的代码。你看看在你之前的人,看看最初的人,那些做过这件事的人,那些编写了混乱代码的人,你去他们那里,非常感谢他们开源,给予他们认可,你接受他们所做的一切,你把它放在你的程序中,你永远不会再去看它。因为这样会走向疯狂。”

——Tom Scott

这就是这个程序所做的事情。它基于Olson tz数据库重用了pytz库。有关更多信息,请参阅“致谢”部分。

时间是我们在理性化我们无法忍受的易逝性时创造的一种错觉,必然是不精确的、令人困惑的和不完美的。这既不是你的错,也不是你的计算机的错:接受并拥抱它的人性。

安装

您可以使用PyPI仓库中的pip安装此程序,如下所示

pip3 install undertime

以上假设您正在运行安装Python 3版本的pippip3的发行版,您可能需要在某些配置中将其替换为仅pip

此程序也打包在Debian中(自Debian 10“buster”以来),因此您也可以使用以下方式安装它

apt install undertime

如果您已下载此源代码并想直接安装,您可以简单地运行

pip3 install .

致谢

本程序由Antoine Beaupré编写,并授权于AGPLv3+。我使用Python重写了overtime-cli,因为我认为我们不应该需要一个JavaScript虚拟机来挑选时间。我也很好奇这样的重写会是什么样子,而且每次我需要确定世界其他地方的时间或需要协调国际会议时,都感到厌倦了打开网络浏览器。

没有Stuart Bishop编写的pytz库,这一切都不可能实现,该库基于Arthur David Olson创建的Olson时区数据库,目前由Paul Eggert维护。这些软件包由努力跟上这些持续变化的包维护者发送到您最喜欢的Debian发行版中,因此也应该感谢tzdata软件包维护者(目前为Adam Conrad、Aurelien Jarno和Clint Adams)以及Debian项目中保持所有这些软件包更新的每个人。感谢您为我们处理人类的复杂、美丽和复杂的特点。

类似的项目

  • crab fit:基于网络的时区敏感会议规划器,免费软件

  • overtime-cli:undertime的主要灵感来源

  • timeanddate.com:之前使用过,非免费

  • tzdiff:非常相似,但比undertime晚了几个月才发现

  • when:以块的形式显示时间,有趣的语法(例如现在在yyz -> sfo -> lhr

  • worldchatclock.com:美丽的圆形界面,非免费

  • worldtimebuddy.com:简单的网络界面,巧妙水平设计,非免费

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源代码分发

此版本没有提供源代码分发文件。请参阅生成分发存档的教程。

构建分发

undertime-4.2.0-py3-none-any.whl (32.9 KB 查看散列

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面