Skip to main content

Formats dates, numbers, etc. in a pretty, human readable format.

Project description

Overview

This simple package formats dates in a pretty, human readable format.

Requirements

Introduction

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 dates on a relative format so it would be printed as “last month” or “2 months ago”, which is easier to read and understand for most people.

collective.prettydate is specially well suited for sites that produce a lot of content, like breaking news.

Usage

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”

‘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’

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
  2. You may need to extend a five.grok known good set (KGS) to make sure that you get the right versions of the packages that make up five.grok

    [buildout]
    ...
    extends =
        http://good-py.appspot.com/release/five.grok/1.2.0-1?plone=4.1

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

Contributors

This product is based on py-pretty.

Development sponsored by Open Multimedia.

Changelog

1.0rc1 (2012-02-21)

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.prettydate-1.0rc1.tar.gz (45.3 kB view details)

Uploaded Source

File details

Details for the file collective.prettydate-1.0rc1.tar.gz.

File metadata

File hashes

Hashes for collective.prettydate-1.0rc1.tar.gz
Algorithm Hash digest
SHA256 1ad63790742ab186a2e4568cb7a40053b9d760c66f485183265d794c258f0735
MD5 1b602979e9919a667cb3d9386dd17977
BLAKE2b-256 07963095b4d315d4e221ee8701a4c0932c5b8a41e8949b2b879ada3009fbed4f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page