C # Affichage du temps relatif: un guide concis
Ce guide montre comment afficher efficacement le temps relatif (par exemple, "il y a 2 heures", "il y a un mois") en C #, une exigence commune dans de nombreuses applications. Nous nous concentrerons sur une approche claire et maintenable.
Définition des unités de temps:
Pour améliorer la lisibilité et la maintenabilité, nous utilisons des constantes pour représenter différentes unités de temps:
<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; // Approximation</code>
Calcul de la différence de temps:
La logique centrale consiste à calculer la différence entre l'heure actuelle (UTC) et la cible DateTime
en utilisant TimeSpan
, puis convertissant le résultat en secondes:
<code class="language-csharp">TimeSpan timeDifference = DateTime.UtcNow - yourDate; double seconds = Math.Abs(timeDifference.TotalSeconds);</code>
Génération de la chaîne de temps relative:
Nous utilisons une série d'instructions if
pour déterminer la chaîne de temps relative appropriée en fonction de la valeur seconds
:
<code class="language-csharp">string relativeTime; if (seconds < MINUTE) { relativeTime = $"{seconds} seconds ago"; } else if (seconds < HOUR) { relativeTime = $"{Math.Round(seconds / MINUTE)} minutes ago"; } else if (seconds < DAY) { relativeTime = $"{Math.Round(seconds / HOUR)} hours ago"; } else if (seconds < MONTH) { relativeTime = $"{Math.Round(seconds / DAY)} days ago"; } else { relativeTime = $"{Math.Round(seconds / MONTH)} months ago"; }</code>
Cette approche offre une méthode simple et adaptable pour afficher le temps relatif, facilement extensible pour inclure des années ou d'autres unités de temps selon les besoins. N'oubliez pas que MONTH
est une approximation; Pour une précision plus élevée, envisagez d'utiliser une bibliothèque de date / heure plus sophistiquée.
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!