Affichage efficace du temps relatif dans les applications C #
De nombreuses applications C # nécessitent afficher le temps écoulé depuis un événement spécifique dans un format convivial. Cet article présente une méthode concise et efficace pour calculer et présenter un temps relatif.
Nous levons en levant TimeSpan
et une série de constantes d'intervalle de temps pour déterminer la représentation du temps relative la plus appropriée. L'extrait de code suivant illustre cette approche:
<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; TimeSpan ts = DateTime.UtcNow - yourDate; // Note: Direct subtraction for simplicity. Consider handling potential negative values. double delta = Math.Abs(ts.TotalSeconds); if (delta < 1 * MINUTE) { return $"{Math.Round(delta)} seconds ago"; } else if (delta < 2 * HOUR) { return $"{Math.Round(delta / MINUTE)} minutes ago"; } else if (delta < 2 * DAY) { return $"{Math.Round(delta / HOUR)} hours ago"; } else if (delta < 30 * DAY) { return $"{Math.Round(delta / DAY)} days ago"; } else if (delta < 12 * MONTH) { return $"{Math.Round(delta / MONTH)} months ago"; } else { return $"{Math.Round(delta / (12 * MONTH))} years ago"; }</code>
L'utilisation de constantes pour les unités temporelles améliore la lisibilité au code et la maintenabilité. L'algorithme vérifie efficacement contre des intervalles de temps progressivement plus grands, renvoyant une chaîne relative relative lisible par l'homme. Cette méthode est adaptable et facilement étendue pour inclure des unités de temps supplémentaires ou personnaliser le format de sortie.
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!