Cómo formatear el tiempo desde xxx p. Ej. "Hace 4 minutos" similar a los sitios de Stack Exchange

La pregunta es cómo formatear un JavaScriptDate como una cadena que indica el tiempo transcurrido de forma similar a la forma en que ve los tiempos que se muestran en Stack Overflow.

p.ej.

Hace 1 minuto1 hora antesHace 1 díaHace 1 meshace 1 año

Respuestas a la pregunta(19)

Su respuesta a la pregunta