===========
Jinja2 Time
===========
|pypi| |pyversions| |license| |travis-ci|
Jinja2 Extension for Dates and Times
.. |pypi| image:: https://img.shields.io/pypi/v/jinja2-time.svg
:target: https://pypi.python.org/pypi/jinja2-time
:alt: PyPI Package
.. |pyversions| image:: https://img.shields.io/pypi/pyversions/jinja2-time.svg
:target: https://pypi.python.org/pypi/jinja2-time/
:alt: PyPI Python Versions
.. |license| image:: https://img.shields.io/pypi/l/jinja2-time.svg
:target: https://pypi.python.org/pypi/jinja2-time
:alt: PyPI Package License
.. |travis-ci| image:: https://travis-ci.org/hackebrot/jinja2-time.svg?branch=master
:target: https://travis-ci.org/hackebrot/jinja2-time
:alt: See Build Status on Travis CI
Installation
------------
**jinja2-time** is available for download from `PyPI`_ via `pip`_::
$ pip install jinja2-time
It will automatically install `jinja2`_ along with `arrow`_.
.. _`jinja2`: https://github.com/mitsuhiko/jinja2
.. _`PyPI`: https://pypi.python.org/pypi
.. _`arrow`: https://github.com/crsmithdev/arrow
.. _`pip`: https://pypi.python.org/pypi/pip/
Usage
-----
Now Tag
~~~~~~~
The extension comes with a ``now`` tag that provides convenient access to the
`arrow.now()`_ API from your templates.
You can control the output by specifying a format, that will be passed to
Python's `strftime()`_:
.. _`arrow.now()`: http://crsmithdev.com/arrow/#arrow.factory.ArrowFactory.now
.. _`strftime()`: https://docs.python.org/3.5/library/datetime.html#strftime-and-strptime-behavior
.. code-block:: python
from jinja2 import Environment
env = Environment(extensions=['jinja2_time.TimeExtension'])
# Timezone 'local', default format -> "2015-12-10"
template = env.from_string("{% now 'local' %}")
# Timezone 'utc', explicit format -> "Thu, 10 Dec 2015 15:49:01"
template = env.from_string("{% now 'utc', '%a, %d %b %Y %H:%M:%S' %}")
# Timezone 'Europe/Berlin', explicit format -> "CET +0100"
template = env.from_string("{% now 'Europe/Berlin', '%Z %z' %}")
# Timezone 'utc', explicit format -> "2015"
template = env.from_string("{% now 'utc', '%Y' %}")
template.render()
Default Datetime Format
~~~~~~~~~~~~~~~~~~~~~~~
**TimeExtension** extends the environment with a ``datetime_format`` attribute.
It is used as a fallback if you omit the format for ``now``.
.. code-block:: python
from jinja2 import Environment
env = Environment(extensions=['jinja2_time.TimeExtension'])
env.datetime_format = '%a, %d %b %Y %H:%M:%S'
# Timezone 'utc', default format -> "Thu, 10 Dec 2015 15:49:01"
template = env.from_string("{% now 'utc' %}")
template.render()
Time Offset
~~~~~~~~~~~
**jinja2-time** implements a convenient interface to modify ``now`` by a
relative time offset:
.. code-block:: python
# Examples for now "2015-12-09 23:33:01"
# "Thu, 10 Dec 2015 01:33:31"
"{% now 'utc' + 'hours=2, seconds=30' %}"
# "Wed, 09 Dec 2015 23:22:01"
"{% now 'utc' - 'minutes=11' %}"
# "07 Dec 2015 23:00:00"
"{% now 'utc' - 'days=2, minutes=33, seconds=1', '%d %b %Y %H:%M:%S' %}"
Further documentation on the underlying functionality can be found in the
`arrow replace docs`_.
.. _`arrow replace docs`: http://arrow.readthedocs.io/en/latest/#replace-shift
Issues
------
If you encounter any problems, please `file an issue`_ along with a detailed description.
.. _`file an issue`: https://github.com/hackebrot/jinja2-time/issues
Code of Conduct
---------------
Everyone interacting in the jinja2-time project's codebases, issue trackers, chat
rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_.
.. _`PyPA Code of Conduct`: https://www.pypa.io/en/latest/code-of-conduct/
License
-------
Distributed under the terms of the `MIT`_ license, jinja2-time is free and open source software
.. image:: https://opensource.org/trademarks/osi-certified/web/osi-certified-120x100.png
:align: left
:alt: OSI certified
:target: https://opensource.org/
.. _`MIT`: http://opensource.org/licenses/MIT
Raw data
{
"_id": null,
"home_page": "https://github.com/hackebrot/jinja2-time",
"name": "jinja2-time",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "jinja2,extension,time",
"author": "Raphael Pierzina",
"author_email": "raphael@hackebrot.de",
"download_url": "https://files.pythonhosted.org/packages/de/7c/ee2f2014a2a0616ad3328e58e7dac879251babdb4cb796d770b5d32c469f/jinja2-time-0.2.0.tar.gz",
"platform": "UNKNOWN",
"description": "===========\nJinja2 Time\n===========\n\n|pypi| |pyversions| |license| |travis-ci|\n\nJinja2 Extension for Dates and Times\n\n.. |pypi| image:: https://img.shields.io/pypi/v/jinja2-time.svg\n :target: https://pypi.python.org/pypi/jinja2-time\n :alt: PyPI Package\n\n.. |pyversions| image:: https://img.shields.io/pypi/pyversions/jinja2-time.svg\n :target: https://pypi.python.org/pypi/jinja2-time/\n :alt: PyPI Python Versions\n\n.. |license| image:: https://img.shields.io/pypi/l/jinja2-time.svg\n :target: https://pypi.python.org/pypi/jinja2-time\n :alt: PyPI Package License\n\n.. |travis-ci| image:: https://travis-ci.org/hackebrot/jinja2-time.svg?branch=master\n :target: https://travis-ci.org/hackebrot/jinja2-time\n :alt: See Build Status on Travis CI\n\nInstallation\n------------\n\n**jinja2-time** is available for download from `PyPI`_ via `pip`_::\n\n $ pip install jinja2-time\n\nIt will automatically install `jinja2`_ along with `arrow`_.\n\n.. _`jinja2`: https://github.com/mitsuhiko/jinja2\n.. _`PyPI`: https://pypi.python.org/pypi\n.. _`arrow`: https://github.com/crsmithdev/arrow\n.. _`pip`: https://pypi.python.org/pypi/pip/\n\nUsage\n-----\n\nNow Tag\n~~~~~~~\n\nThe extension comes with a ``now`` tag that provides convenient access to the\n`arrow.now()`_ API from your templates.\n\nYou can control the output by specifying a format, that will be passed to\nPython's `strftime()`_:\n\n.. _`arrow.now()`: http://crsmithdev.com/arrow/#arrow.factory.ArrowFactory.now\n.. _`strftime()`: https://docs.python.org/3.5/library/datetime.html#strftime-and-strptime-behavior\n\n.. code-block:: python\n\n from jinja2 import Environment\n\n env = Environment(extensions=['jinja2_time.TimeExtension'])\n\n # Timezone 'local', default format -> \"2015-12-10\"\n template = env.from_string(\"{% now 'local' %}\")\n\n # Timezone 'utc', explicit format -> \"Thu, 10 Dec 2015 15:49:01\"\n template = env.from_string(\"{% now 'utc', '%a, %d %b %Y %H:%M:%S' %}\")\n\n # Timezone 'Europe/Berlin', explicit format -> \"CET +0100\"\n template = env.from_string(\"{% now 'Europe/Berlin', '%Z %z' %}\")\n\n # Timezone 'utc', explicit format -> \"2015\"\n template = env.from_string(\"{% now 'utc', '%Y' %}\")\n\n template.render()\n\nDefault Datetime Format\n~~~~~~~~~~~~~~~~~~~~~~~\n\n**TimeExtension** extends the environment with a ``datetime_format`` attribute.\n\nIt is used as a fallback if you omit the format for ``now``.\n\n.. code-block:: python\n\n from jinja2 import Environment\n\n env = Environment(extensions=['jinja2_time.TimeExtension'])\n\n env.datetime_format = '%a, %d %b %Y %H:%M:%S'\n\n # Timezone 'utc', default format -> \"Thu, 10 Dec 2015 15:49:01\"\n template = env.from_string(\"{% now 'utc' %}\")\n\n template.render()\n\nTime Offset\n~~~~~~~~~~~\n\n**jinja2-time** implements a convenient interface to modify ``now`` by a\nrelative time offset:\n\n.. code-block:: python\n\n # Examples for now \"2015-12-09 23:33:01\"\n\n # \"Thu, 10 Dec 2015 01:33:31\"\n \"{% now 'utc' + 'hours=2, seconds=30' %}\"\n\n # \"Wed, 09 Dec 2015 23:22:01\"\n \"{% now 'utc' - 'minutes=11' %}\"\n\n # \"07 Dec 2015 23:00:00\"\n \"{% now 'utc' - 'days=2, minutes=33, seconds=1', '%d %b %Y %H:%M:%S' %}\"\n\nFurther documentation on the underlying functionality can be found in the\n`arrow replace docs`_.\n\n.. _`arrow replace docs`: http://arrow.readthedocs.io/en/latest/#replace-shift\n\n\nIssues\n------\n\nIf you encounter any problems, please `file an issue`_ along with a detailed description.\n\n.. _`file an issue`: https://github.com/hackebrot/jinja2-time/issues\n\n\nCode of Conduct\n---------------\n\nEveryone interacting in the jinja2-time project's codebases, issue trackers, chat\nrooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_.\n\n.. _`PyPA Code of Conduct`: https://www.pypa.io/en/latest/code-of-conduct/\n\nLicense\n-------\n\nDistributed under the terms of the `MIT`_ license, jinja2-time is free and open source software\n\n.. image:: https://opensource.org/trademarks/osi-certified/web/osi-certified-120x100.png\n :align: left\n :alt: OSI certified\n :target: https://opensource.org/\n\n.. _`MIT`: http://opensource.org/licenses/MIT",
"bugtrack_url": null,
"license": "MIT",
"summary": "Jinja2 Extension for Dates and Times",
"version": "0.2.0",
"project_urls": {
"Homepage": "https://github.com/hackebrot/jinja2-time"
},
"split_keywords": [
"jinja2",
"extension",
"time"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6aa1d44fa38306ffa34a7e1af09632b158e13ec89670ce491f8a15af3ebcb4e4",
"md5": "d0d553ae5c3e9e7abb79c044acd165c8",
"sha256": "d3eab6605e3ec8b7a0863df09cc1d23714908fa61aa6986a845c20ba488b4efa"
},
"downloads": -1,
"filename": "jinja2_time-0.2.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "d0d553ae5c3e9e7abb79c044acd165c8",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 6360,
"upload_time": "2016-06-08T23:36:48",
"upload_time_iso_8601": "2016-06-08T23:36:48.197942Z",
"url": "https://files.pythonhosted.org/packages/6a/a1/d44fa38306ffa34a7e1af09632b158e13ec89670ce491f8a15af3ebcb4e4/jinja2_time-0.2.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "de7cee2f2014a2a0616ad3328e58e7dac879251babdb4cb796d770b5d32c469f",
"md5": "b6ebc4ecac395a18982532f4c2869c06",
"sha256": "d14eaa4d315e7688daa4969f616f226614350c48730bfa1692d2caebd8c90d40"
},
"downloads": -1,
"filename": "jinja2-time-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "b6ebc4ecac395a18982532f4c2869c06",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5701,
"upload_time": "2016-06-08T23:36:52",
"upload_time_iso_8601": "2016-06-08T23:36:52.454491Z",
"url": "https://files.pythonhosted.org/packages/de/7c/ee2f2014a2a0616ad3328e58e7dac879251babdb4cb796d770b5d32c469f/jinja2-time-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2016-06-08 23:36:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hackebrot",
"github_project": "jinja2-time",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "jinja2-time"
}