Short, readable datetime filters.
Project description
# Django Dana Time [![Build Status](https://travis-ci.org/danasilver/django-dana-time.svg?branch=master)](https://travis-ci.org/danasilver/django-dana-time)
Short, readable datetime filters.
### Install
### Usage
```python
{% load danatime %}
{{ datetime_instance|danatime:"previous year format" }}
```
### Formatting
Examples are shown with `en` translation/formatting and no arguments to the
template tag.
| timedelta | danatime |
|-------------------------|------------------------------|
| 0 seconds | now |
| 1 second | a second ago |
| 2 - 60 seconds | 2 - 60 seconds ago |
| 1 minute | a minute ago |
| 2 - 60 minutes | 2 - 60 minutes ago |
| 1 hour | an hour ago |
| 2 - 6 hours | 2 - 6 hours ago |
| 6 - 24 hours, same day | 4:26 p.m. |
| 6 - 24 hours, yesterday | 4:26 p.m. yesterday |
| \> 24 hours, same year | Aug 10 |
| previous year | 8/10/2012 |
### Internationalization Notes
All values are internationalized and localized by default using
[Django's internationalization and localization support](https://docs.djangoproject.com/en/1.9/topics/i18n/).
#### 6 - 24 hours (same day/yesterday)
Uses `defaultfilters.time`, which defaults to the localized
`settings.TIME_FORMAT`.
Example: In [en](https://github.com/django/django/blob/master/django/conf/locale/en/formats.py),
`TIME_FORMAT = 'P'`.
#### \> 24 hours, same year
Uses `defaultfilters.date` with an argument of `'MONTH_DAY_FORMAT'`, the
localized `settings.MONTH_DAY_FORMAT`.
Example: In [en](https://github.com/django/django/blob/master/django/conf/locale/en/formats.py),
`MONTH_DAY_FORMAT = 'F j'`.
#### previous year
Uses `defaultfilters.date` with an argument of `'n/j/Y'`.
Example: 10 August 2012 is formatted as `8/10/2012`.
Override this by passing an optional argument with a format to the filter tag.
#### previous year format examples:
Pass `None` to use the default, localized `settings.DATE_FORMAT`:
```
{{ mytime|danatime:None }}
```
Pass `SHORT_DATE_FORMAT` to use the localized `settings.SHORT_DATE_FORMAT`:
```
{{ mytime|danatime:"SHORT_DATE_FORMAT" }}
```
Pass a format string like `"F j, Y"` to use a custom format:
```
{{ mytime|danatime:"F j, Y" }}
```
This particular format yields `August 8, 2012`.
See Django's [available format strings](https://docs.djangoproject.com/en/1.9/ref/templates/builtins/#date)
for help.
### Testing
[![Build Status](https://travis-ci.org/danasilver/django-dana-time.svg?branch=master)](https://travis-ci.org/danasilver/django-dana-time)
Tested with all combinations of the latest versions of Python 2.7 and 3.4 with
Django 1.7, 1.8, and 1.9.
After installing Django, run the tests with:
```sh
$ python runtests.py
```
Install tox and run `tox` to test in all environments. This is what the CI does.
Short, readable datetime filters.
### Install
### Usage
```python
{% load danatime %}
{{ datetime_instance|danatime:"previous year format" }}
```
### Formatting
Examples are shown with `en` translation/formatting and no arguments to the
template tag.
| timedelta | danatime |
|-------------------------|------------------------------|
| 0 seconds | now |
| 1 second | a second ago |
| 2 - 60 seconds | 2 - 60 seconds ago |
| 1 minute | a minute ago |
| 2 - 60 minutes | 2 - 60 minutes ago |
| 1 hour | an hour ago |
| 2 - 6 hours | 2 - 6 hours ago |
| 6 - 24 hours, same day | 4:26 p.m. |
| 6 - 24 hours, yesterday | 4:26 p.m. yesterday |
| \> 24 hours, same year | Aug 10 |
| previous year | 8/10/2012 |
### Internationalization Notes
All values are internationalized and localized by default using
[Django's internationalization and localization support](https://docs.djangoproject.com/en/1.9/topics/i18n/).
#### 6 - 24 hours (same day/yesterday)
Uses `defaultfilters.time`, which defaults to the localized
`settings.TIME_FORMAT`.
Example: In [en](https://github.com/django/django/blob/master/django/conf/locale/en/formats.py),
`TIME_FORMAT = 'P'`.
#### \> 24 hours, same year
Uses `defaultfilters.date` with an argument of `'MONTH_DAY_FORMAT'`, the
localized `settings.MONTH_DAY_FORMAT`.
Example: In [en](https://github.com/django/django/blob/master/django/conf/locale/en/formats.py),
`MONTH_DAY_FORMAT = 'F j'`.
#### previous year
Uses `defaultfilters.date` with an argument of `'n/j/Y'`.
Example: 10 August 2012 is formatted as `8/10/2012`.
Override this by passing an optional argument with a format to the filter tag.
#### previous year format examples:
Pass `None` to use the default, localized `settings.DATE_FORMAT`:
```
{{ mytime|danatime:None }}
```
Pass `SHORT_DATE_FORMAT` to use the localized `settings.SHORT_DATE_FORMAT`:
```
{{ mytime|danatime:"SHORT_DATE_FORMAT" }}
```
Pass a format string like `"F j, Y"` to use a custom format:
```
{{ mytime|danatime:"F j, Y" }}
```
This particular format yields `August 8, 2012`.
See Django's [available format strings](https://docs.djangoproject.com/en/1.9/ref/templates/builtins/#date)
for help.
### Testing
[![Build Status](https://travis-ci.org/danasilver/django-dana-time.svg?branch=master)](https://travis-ci.org/danasilver/django-dana-time)
Tested with all combinations of the latest versions of Python 2.7 and 3.4 with
Django 1.7, 1.8, and 1.9.
After installing Django, run the tests with:
```sh
$ python runtests.py
```
Install tox and run `tox` to test in all environments. This is what the CI does.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-dana-time-0.1.0.tar.gz
(3.3 kB
view hashes)
Built Distribution
Close
Hashes for django_dana_time-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d89923d83f494bb4cb614d3b7d64dab1f51807189357387943c341ad9f18d268 |
|
MD5 | f3d3c877e20a906c7879da85cf8e90b9 |
|
BLAKE2b-256 | 340d89700b3aaa9b9d41f121c8ba20c30116ba24ba6f762f40d22146b41ffeac |