Comment calculer le temps relatif (par exemple, "il y a 2 heures") en C# ?
Bonjour à tous ! Je suis un développeur C# débutant et j'ai rencontré un problème : je dois afficher une date au format "temps relatif" — comme on le fait dans les réseaux sociaux. Au lieu de "01.03.2024 14:30", il devrait y avoir "il y a 5 minutes", "hier", "il y a 3 jours", etc.
Par exemple, j'ai une liste de commentaires avec un champ `DateTime CreatedAt`. Je veux montrer à l'utilisateur combien de temps s'est écoulé depuis la création. Mais le `DateTime.ToString()` standard n'affiche que la date absolue.
J'ai essayé d'écrire une fonction simple, mais elle fonctionne mal — elle gère incorrectement les limites (par exemple, "hier" au lieu de "il y a 1 jour"), ne prend pas en compte le jour précédent si moins de 24 heures se sont écoulées, et a l'air horrible en général :
```csharp
public string GetRelativeTime(DateTime dateTime)
{
var span = DateTime.Now - dateTime;