You can use the date-fns library for clean and accurate time difference formatting.
Relative Time Pipe using date-fns
1. Install date-fns
npm install date-fns
2. Create the Pipe
import { Pipe, PipeTransform } from '@angular/core';
import { formatDistanceToNow } from 'date-fns';
@Pipe({
  name: 'relativeTime'
})
export class RelativeTimePipe implements PipeTransform {
  transform(value: string | number | Date): string {
    if (!value) return '';
    return formatDistanceToNow(new Date(value), { addSuffix: true });
  }
}
3. Usage in Template
<p>{{ post.createdAt | relativeTime }}</p>
<!-- Output: 2 hours ago -->