人类可读时间增量

ago的Python项目详细描述


什么是人类可读的时间增量?

ago.py生成可自定义的可读时间增量,例如:

测试过去时:

Russell commented 1 year, 127 days, 16 hours ago
You replied 1 year, 127 days ago

测试将来时:

Program will shutdown in 2 days, 3 hours, 27 minutes
Job will run 2 days, 3 hours from now

如何安装

有多种方法可以安装此软件包。

您可以运行此特别命令:

pip install ago

或者在您的 setuptools-兼容项目的setup.py文件。

如何使用

AGO模块具有三个功能:

  1. Delta2dict
  2. 从主题获取增量

你只需要担心human

以下是所有可用的参数和默认值:

human(subject, precision=2, past_tense='{} ago', future_tense='in {}', abbreviate=False):
主题
一个DateTime、TimeDelta或Timestamp(整数/浮点)对象,使其成为人类可读的对象
精度(默认值2):
所需的单位精度量
过去时(默认为{}ago'):
用于过去时间增量的格式字符串
将来时(默认为{}'):
用于未来时间增量的格式字符串
缩写(默认为false):
布尔到缩写单位

下面是一个如何使用human的示例:

from ago import human
from ago import delta2dict

from datetime import datetime
from datetime import timedelta

# pretend this was stored in database
db_date = datetime(year=2010, month=5, day=4, hour=6, minute=54, second=33, microsecond=4000)

# to find out how long ago, use the human function
print 'Created ' + human( db_date )

# optionally pass a precision
print 'Created ' + human( db_date, 3 )
print 'Created ' + human( db_date, 6 )

我们还支持将来的日期和时间:

PRESENT = datetime.now()
PAST = PRESENT - timedelta( 492, 58711, 45 ) # days, secs, ms
FUTURE = PRESENT + timedelta( 2, 12447, 963 ) # days, secs, ms

print human( FUTURE )

过去时态和将来时态关键字参数示例:

output1 = human( PAST,
  past_tense = 'titanic sunk {0} ago',
  future_tense = 'titanic will sink in {0} from now'
)

output2 = human( FUTURE,
  past_tense = 'titanic sunk {0} ago',
  future_tense = 'titanic will sink in {0} from now'
)

print output1
# titanic sunk 1 year, 127 days ago
print output2
# titanic will sink in 2 days, 3 hours from now

需要更多的例子吗?

你应该看看test_ago.py

我该怎么感谢你?

你应该在twitter上关注我http://twitter.com/russellbal

许可证

公共域

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
从Java中的方法返回列表时遇到问题   java如何忽略json字段,并使用Jackson ObjectMapper获取其值以进行映射   spring通过更新其各自java对象的值来映射两个xsd文件   java从HttpClient获取500错误,在浏览器中工作   java使用物理键输入(耳机中的按钮)在安卓中执行一些操作   如何在int数组(java)中追加int?   java Spring RequestParam的默认值等于方法调用   java将JsonLayout添加到log4j2 json配置   Ubuntu上的maven Tomcat6 libs和/usr/share/java   java单元测试Android活动   java获取URL证书的屏幕截图   java如何为自定义类加载器加载的类提供工具?   FB墙上的java错误图片,来自安卓应用程序的反馈帖子(安卓 FB sdk)   从Intellij IDEA内部运行Tomcat时的java差异?   java TDD与不可能的例外   安卓 Java日期表示差异