Convierta el intervalo de tiempo dado en segundos en una forma más legible para humanos

Necesito un fragmento de código para convertir la cantidad de tiempo dada por el número de segundos en alguna forma legible por humanos. La función debería recibir un número y generar una cadena como esta:

34 seconds 
12 minutes 
4 hours 
5 days 
4 months
1 year

No se requiere formateo, el formato codificado irá.

Respuestas a la pregunta(19)

Su respuesta a la pregunta