Avatar ·

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;