Affichage du temps relatif en C #
Cet article montre comment afficher le temps relatif (par exemple, "il y a 2 heures", "il y a un mois") à partir d'une valeur donnée DateTime
en C #.
La solution implique ces étapes:
DateTime
. Voici un exemple de code C #:
<code class="language-csharp">const int SECOND = 1; const int MINUTE = 60 * SECOND; const int HOUR = 60 * MINUTE; const int DAY = 24 * HOUR; const int MONTH = 30 * DAY; public static string GetRelativeTime(DateTime yourDate) { TimeSpan ts = DateTime.UtcNow - yourDate; double delta = Math.Abs(ts.TotalSeconds); if (delta < 60) { return $"{Math.Round(delta)} seconds ago"; } else if (delta < 3600) { return $"{Math.Round(delta / MINUTE)} minutes ago"; } else if (delta < 86400) { return $"{Math.Round(delta / HOUR)} hours ago"; } else if (delta < 2592000) // 30 days { return $"{Math.Round(delta / DAY)} days ago"; } else { return $"{Math.Round(delta / MONTH)} months ago"; } }</code>
Cette fonction, GetRelativeTime
, prend un DateTime
en entrée et renvoie une chaîne représentant le temps relatif. Il gère les secondes, les minutes, les heures, les jours et les mois. Vous pouvez facilement l'étendre pour inclure des années ou d'autres unités de temps. L'utilisation de Math.Round
fournit une sortie plus propre. N'oubliez pas de remplacer yourDate
par votre variable réelle DateTime
. Cette méthode utilise DateTime.UtcNow
pour la cohérence; Vous pouvez l'ajuster à DateTime.Now
si nécessaire. L'utilisation de l'UTC est généralement préférée pour les calculs de temps pour éviter l'ambiguïté liée aux fuseaux horaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!