#!/usr/bin/env python3 def prettytime(seconds, prec = 2): seconds = int(seconds) output = [] for div, unit in [(365*86400, 'year'), (30*86400, 'month'), (86400, 'day'), (3600, 'hour'), (60, 'minute'), (1, 'second')]: time = seconds // div seconds = seconds % div if time > 0: if time > 1: output.append('{} {}s'.format(time, unit)) else: output.append('{} {}'.format(time, unit)) if len(output) == 0: output.append('0 seconds') return ', '.join(output[:prec])