刘凡 9ff4d1d109 add S3,archive,truncate 2 years ago
..
datetime_truncate 9ff4d1d109 add S3,archive,truncate 2 years ago
docs 9ff4d1d109 add S3,archive,truncate 2 years ago
tests 9ff4d1d109 add S3,archive,truncate 2 years ago
.gitignore 9ff4d1d109 add S3,archive,truncate 2 years ago
LICENSE 9ff4d1d109 add S3,archive,truncate 2 years ago
MANIFEST.in 9ff4d1d109 add S3,archive,truncate 2 years ago
Pipfile 9ff4d1d109 add S3,archive,truncate 2 years ago
Pipfile.lock 9ff4d1d109 add S3,archive,truncate 2 years ago
README.rst 9ff4d1d109 add S3,archive,truncate 2 years ago
setup.py 9ff4d1d109 add S3,archive,truncate 2 years ago
tox.ini 9ff4d1d109 add S3,archive,truncate 2 years ago

README.rst

==================
datetime_truncate
==================

This module truncates a datetime object to the level of precision that
you specify, making everything higher than that zero (or one for day
and month).

It is based on PostgreSQL's DATE_TRUNC_.

Documentation available on `Read the Docs`_.

Installation:
-------------

You can install from pypi!

.. code-block::

pip install datetime_truncate


Usage:
------

.. code-block::

>>> 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), '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)

There are also sugar functions available on the form:

* `truncate_second`
* `truncate_minute`
* `truncate_hour`
* `truncate_day`
* `truncate_week`
* `truncate_month`
* `truncate_quarter`
* `truncate_half_year`
* `truncate_year`


.. _DATE_TRUNC: http://www.postgresql.org/docs/9.1/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC
.. _Read the Docs: http://datetime_truncate.readthedocs.org/en/latest/