Maison >développement back-end >C++ >Comment calculer et afficher avec précision le temps relatif en C #?
Affichage de temps relatif précis en C #
Calcul du temps écoulé entre deux dates est une tâche de programmation fréquente. Cet article démontre une représentation temporelle relative précise en C #.
Calcul des différences de temps
Pour déterminer la différence entre deux valeurs DateTime
, soustraire la date antérieure de la date ultérieure, ce qui entraîne un objet TimeSpan
. Cet objet représente la durée en jours, heures, minutes et secondes.
Formatage du temps relatif
Plusieurs méthodes existent pour formater la différence de temps calculée comme temps relatif:
StringBuilder
pour créer dynamiquement la chaîne de temps relative basée sur les valeurs TimeSpan
. Exemple d'implémentation (approche constante)
Voici un exemple utilisant l'approche constante:
<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; // Assuming yourDate is the earlier date double delta = Math.Abs(ts.TotalSeconds); string relativeTime; if (delta < MINUTE) { relativeTime = $"{Math.Round(delta)} seconds ago"; } else if (delta < HOUR) { relativeTime = $"{Math.Round(delta / MINUTE)} minutes ago"; } else if (delta < DAY) { relativeTime = $"{Math.Round(delta / HOUR)} hours ago"; } else if (delta < MONTH) { relativeTime = $"{Math.Round(delta / DAY)} days ago"; } else { relativeTime = $"{Math.Round(delta / MONTH)} months ago"; } Console.WriteLine(relativeTime);</code>
Cette méthode offre un code clair et maintenable, facilement extensible pour inclure des unités de temps supplémentaires ou ajuster 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!