human-dates2

Dates for humans


Keywords
datetime, pretty-print, human-readable
License
MIT
Install
pip install human-dates2==1.1.0

Documentation

human_dates

This is a fork of the original package human_dates made by Jonathan Tushman, but currently unmaintained.

Already the original package was based on a Stack Overflow answer, referencing still another sources (check the post).


I came from the Ruby/Rails world and I missed some of my date sugar. And instead of keeping complaining about it, I thought I would do something about it

It offers two sets of functionality:

  1. and foremost it has a nice time_ago_in_words function.
  2. has some natural language for getting to the beginning and end of things

Note I stole much of this from the following StackOverflow post: http://stackoverflow.com/a/1551394/192791

Note: when you do not pass a time into a function it uses datetime.utcnow()

Installation

$ pip install human_dates

time_ago_in_words Usage

from human_dates import time_ago_in_words, beginning_of_day

print time_ago_in_words()
#prints "just now"

print time_ago_in_words(beginning_of_day())
# prints "8 hours ago"

Natural Language Helpers

from human_dates import *

print beginning_of_day()
print beginning_of_hour()
print beginning_of_year()
print end_of_month()
# and so on ....

# you can also pass a datetime to each of these functions
import human_dates
from datetime import datetime
date = datetime.strptime('Feb 13 2008  1:33PM', '%b %d %Y %I:%M%p')
result = human_dates.end_of_month(date)
print result
# 2008-02-29 23:59:59.999999

Alternatives

Other Important Time Libraries