将未来日期转换为人性化的英语格式
HumanFuture的Python项目详细描述
人类未来
python实用程序,以人性化的方式编写未来日期。
该模块的动机是需要在一场友谊赛中代表未来的事件, 但不是tweet调度工具的模糊方式, [反tweet](http://anticitweet.com)。友好的语言而不牺牲 精确是人类未来与众不同的原因。
该模块目前采用12小时英语硬编码,精度为1 分钟。
安装
这个包在pypi上,所以假设您安装了安装工具,它只是 做一件事
pip install humanfuture
示例
>>> import humanfuture as future >>> from datetime import datetime >>> ref = datetime(2012, 8, 6, 9, 0) >>> future.humanize(datetime(2012, 8, 6, 9, 1), ref) 'about a minute' >>> future.humanize(datetime(2012, 8, 6, 9, 5), ref) 'five minutes' >>> future.humanize(datetime(2012, 8, 6, 10, 30), ref) 'one hour and 30 minutes' >>> future.humanize(datetime(2012, 8, 6, 12, 0), ref) 'noon' >>> future.humanize(datetime(2012, 8, 7, 12, 0), ref) 'tomorrow at noon' >>> future.humanize(datetime(2012, 8, 7, 18, 0), ref) 'tomorrow at 6 pm' >>> future.humanize(datetime(2012, 8, 9, 14, 30), ref) 'Thursday at 2:30 pm' >>> future.humanize(datetime(2012, 8, 13, 9, 15), ref) 'next Monday at 9:15 am' >>> future.humanize(datetime(2012, 10, 13, 12, 0), ref) 'October 13 at noon' >>> future.humanize(datetime(2013, 4, 13, 23, 11), ref) 'April 13, 2013 at 11:11 pm'
为了更完整的-虽然,也更丑陋-参考什么这个模块 输出,请参见测试中的test_humanfuture.py。
人性化您的未来
humanfuture中的人性化功能是您想要的功能。就进来一个 DateTime对象在将来的某个时候,它应该会弹出一个 英文字符串。
如果你需要从现在以外的某个时间拿出相对的未来,你可以 传入一个引用日期时间作为第二个参数。
处理你的过去
此模块可能引发两个异常,一个 humanfuture.negativedeltaerror,或humanfuture.unformattableerror。这个 第二个不应该真的发生。如果你来了,请告诉我 穿过它。但你要小心的第一个。
这个模块的作用域被限制在将来的时间内,所以它抛出 如果你给它一个未来的过去。为了避免这种情况, 或者在提交之前检查你的未来,或者如果你不确定,把 在try/catch块中转换并在那里处理它。
学分
虽然这是一个全新的模块,但一些灵感来自 可爱的[人性化](https://github.com/jmoiron/humanize)模块。