Skip to main content

Life, the Universe, and Everything

collective.prettydate is a package that helps developers to solve some usability issues associated with the utilization of absolute date formating on sites used among different timezones.

When a date is printed as “01/02/2012” it could represent “February 1” or “January 2”, depending on the format used. Also, if the site is located on a different timezone, it could take you to situations when today’s date is printed as yesterday, or tomorrow’s date.

collective.prettydate represents a date on a relative format so it would be displayed as “4 hours ago”, “yesterday” or “last week”, which is easier to read and understand for most people.

This feature is really nice for news sites or sites with upcoming events.

Mostly Harmless

Travis CI badge Coveralls badge Downloads

Got an idea? Found a bug? Let us know by opening a support ticket.

Don’t Panic

This product provides a utility which will convert a DateTime object into a human readable text.

from zope.component import getUtility
from collective.prettydate.interfaces import IPrettyDate
date_utility = getUtility(IPrettyDate)

At this point, you can use the ‘date’ method to convert the DateTime object:

from DateTime import DateTime
today = DateTime()
str_date = date_utility.date(today)

In previous example, ‘str_date’ will be “now”

The ‘date’ method also allows 2 additional parameters: ‘short’ and ‘asdays’ which will modify the output to be in short format (‘h’ instead of ‘hours’, ‘d’ instead of ‘days’, etc) and whole days (it will use ‘today’ instead of any amount of seconds, minutes or hours for current day). They both default to “False”.

Timezones

If your server timezone is configured correctly, and the DateTime object contains valid timezone info, then the text output will reflect the correct time. You do not need to convert date and time between different timezones.

Output examples

  • ‘4 hours ago’

  • ‘4h ago’ (short format)

  • ‘in 28 minutes’

  • ‘in 6 months’

  • ‘today’

  • ‘last week’

  • ‘yesterday’

  • ‘last year’

DateTime 3.0

collective.prettydate is fully compatible with DateTime 3.0 which provides a significantly smaller memory footprint.

Installation

To enable this product in a buildout-based installation:

  1. Edit your buildout.cfg and add collective.prettydate to the list of eggs to install

    [buildout]
    ...
    eggs =
        collective.prettydate

After updating the configuration you need to run ‘’bin/buildout’’, which will take care of updating your system.

Share and Enjoy

collective.prettydate would not have been possible without the contribution of the following people:

  • Franco Pellegrini

  • Héctor Velarde

  • Juan A. Díaz

You can find an updated list of package contributors on GitHub.

This package is based on py-pretty.

Development sponsored by Open Multimedia.

Changelog

Because you have to know where your towel is.

1.2.2 (2014-11-12)

  • Fixed German translation. [mbaechtold]

1.2.1 (2014-09-01)

  • Add German translations. [jone]

  • Fix package dependencies. [hvelarde]

1.2 (2013-03-19)

  • Added Finnish translation. [petri]

  • Added Italian translation. [gborelli]

  • Tested compatibility with Plone 4.3. [hvelarde]

  • Updated documentation. [hvelarde]

  • Tested compatibility with Plone 4.0. [hvelarde]

1.1 (2012-05-29)

  • Removed unused test module. [hvelarde]

  • Remove unnecessary generic setup profile. [nueces]

  • Package no longer depends on five.grok (fixes #3). [frapell]

1.0 (2012-05-04)

  • Tested compatibility with Plone 4.2. [hvelarde]

  • Tested compatibility with DateTime 3.0 which provides a significantly smaller memory footprint. [hvelarde]

1.0rc1 (2012-02-21)

  • Initial release.

Metadata

Release files for collective.prettydate 1.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for collective.prettydate 1.2.2
File Size Uploaded
collective.prettydate-1.2.2.zip 46.3 kB Details

Release files / collective.prettydate-1.2.2.zip

Download URL collective.prettydate-1.2.2.zip
Size 46.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c2750eb0ab76cb5b8e0f14c41438547b2128f909078840a33ef3960ccd8d0d89
BLAKE2b-256 checksum
How to use checksums
c3449ef688104b7330c324a1ff56ba275c546c63198d723347c89fb891ed9856
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.2.2 This release

1 release file

1.2.1

1 release file

1.2

1 release file

1.1

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page