Skip to main content

Intuitive date formatting.

Project description

hotdate is a library for doing friendly date formating. Its API is inspired by Moment.js.

hotdate wraps Python’s builtin datetime object with a layer that simplifies some common operations that are annoying to do with datetime. More importantly, hotdate provides functionality for doing friendly/human-readable relative date formatting. It even has one of those crazy “fluent interfaces” that are so hip with the kids these days.

A quick tour

Construction

You can create hotdate objects in a bunch of ways.

from hotdate import hotdate

# get the current time and date
>>> hotdate()
hotdate(2014, 3, 4, 21, 34, 3, 661600)
>>> hotdate(2011)
hotdate(2011, 1, 1, 0, 0)
>>> hotdate('2012 03', '%Y %m')
hotdate(2012, 3, 1, 0, 0)
>>> d = datetime.datetime.now()
>>> hotdate(d)
hotdate(2014, 3, 4, 21, 34, 3, 661600)

Formatting

You can use it to format dates:

>>> hotdate().format()
'2014-03-04T21:46:18'
>>> hotdate().format('%c')
'Tue Mar  4 21:47:03 2014'

“How long ago?”

>>> hotdate().from_now()
'just now'
>>> hotdate(2011).from_now()
'2 years ago'
>>> hotdate().add(minutes=30).from_now()
'29 minutes from now'

Calendar date formatting

>>> hotdate().calendar()
'Today at 09:50PM'
>>> hotdate().add(days=1).calendar()
'Tomorrow at 09:51PM'
>>> hotdate().subtract(days=4).calendar()
'Last Friday at 09:51PM'
>>> hotdate(2011).calendar()
'1/1/2011'

Use it just like a datetime

>>> hotdate().isoformat()
'2014-03-05T17:00:28.699772'
>>> hotdate.fromtimestamp(1311218002)
hotdate(2011, 7, 20, 23, 13, 22)
>>> hotdate().timetuple()
time.struct_time(tm_year=2014, tm_mon=3, tm_mday=5, tm_hour=17, tm_min=10, tm_sec=35, tm_wday=2, tm_yday=64, tm_isdst=-1)

Project details


Release history Release notifications

This version
History Node

0.4.5

History Node

0.4.4

History Node

0.4.3

History Node

0.4.2

History Node

0.4.1

History Node

0.4.0

History Node

0.3.1

History Node

0.3.0

History Node

0.2.3

History Node

0.2.2

History Node

0.2.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
hotdate-0.4.5-py2.py3-none-any.whl (6.7 kB) Copy SHA256 hash SHA256 Wheel 2.7 Mar 12, 2014
hotdate-0.4.5.tar.gz (5.0 kB) Copy SHA256 hash SHA256 Source None Mar 8, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page