将datetime对象截断到一个设置的精度级别
datetime_truncate的Python项目详细描述
此模块将日期时间对象截断为 您指定,使所有值都高于零(或一天一个 以及月份)。
它基于postgresql的DATE_TRUNC。
有关Read the Docs的文档。
安装:
你可以从pypi安装!
pip install datetime_truncate
用法:
>>> from datetime_truncate import truncate >>> truncate(datetime(2012, 2, 4, 12, 24, 50, 234), 'second') datetime(2012, 2, 4, 12, 24, 50) >>> truncate(datetime(2012, 2, 4, 12, 24, 50), 'minute') datetime(2012, 2, 4, 12, 24) >>> truncate(datetime(2012, 2, 4, 12, 24, 50), '5_minute') datetime(2012, 2, 4, 12, 20) >>> truncate(datetime(2012, 2, 4, 12, 24, 50), '19_minute') datetime(2012, 2, 4, 12, 19) >>> truncate(datetime(2012, 2, 4, 12, 24), 'hour') datetime(2012, 2, 4, 12) >>> truncate(datetime(2012, 2, 4, 12, 24), 'day') datetime(2012, 2, 4) >>> truncate(datetime(2012, 2, 4, 12, 24), 'week') datetime(2012, 1, 30) >>> truncate(datetime(2012, 2, 4, 12, 24), 'month') datetime(2012, 2, 1) >>> truncate(datetime(2012, 2, 4, 12, 24), 'quarter') datetime(2012, 1, 1) >>> truncate(datetime(2012, 8, 18, 12, 25), 'half_year') datetime(2012, 7, 1) >>> truncate(datetime(2012, 8, 18, 12, 25), 'year') datetime(2012, 1, 1)
表格上还有糖功能:
truncate_second
truncate_minute
truncate_nth_minute
truncate_hour
truncate_day
truncate_week
truncate_month
truncate_quarter
truncate_half_year
truncate_year
变化
1.1.0-2017-10-19
- 将truncate添加到小时的第n分钟,因此如果您想
每三分钟截短一次:
truncate(dt, '3_minute')
或 上面再加点糖;truncate_nth_minute(dt, 3)
- 修正了截短季度和半年的错误,谢谢@thegrymek!