I believe someone is working on writing up a more detailed post about this, but I'll throw the sanetime library out there. It's pretty slick and even has built in Django support.
https://github.com/HubSpot/sanetime https://sanetime.readthedocs.org/en/latest/