Méthodes de conversion du temps d'époque C# en temps réel
Ce guide montre comment convertir l'heure d'une époque Unix (secondes depuis le 1er janvier 1970, UTC) en une date et une heure lisibles en C#. Plusieurs approches s'adaptent à différentes versions de .NET.
.NET moderne (Core >= 2.1 et versions ultérieures) :
La méthode la plus simple exploite les fonctions intégrées :
<code class="language-csharp">DateTime realTime = DateTime.UnixEpoch.AddSeconds(epochSeconds); // For seconds DateTime realTimeMillis = DateTime.UnixEpoch.AddMilliseconds(epochMilliseconds); // For milliseconds</code>
Utilisation de DateTimeOffset (recommandé depuis 2020) :
DateTimeOffset
offre une gestion améliorée des fuseaux horaires :
<code class="language-csharp">DateTimeOffset realTimeOffset = DateTimeOffset.FromUnixTimeSeconds(epochSeconds); // For seconds DateTimeOffset realTimeOffsetMillis = DateTimeOffset.FromUnixTimeMilliseconds(epochMilliseconds); // For milliseconds DateTime realTime = realTimeOffset.DateTime; // Extract DateTime if needed</code>
Pour les anciennes versions de .NET (avant 2020) :
Pour les anciens frameworks .NET dépourvus des méthodes ci-dessus, une fonction personnalisée est nécessaire :
<code class="language-csharp">private static readonly DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); public static DateTime FromUnixTime(long unixTime) { return epoch.AddSeconds(unixTime); }</code>
Cette fonction ajoute le unixTime
donné (en secondes) à l'époque Unix, ce qui donne un objet DateTime
représentant le temps réel. N'oubliez pas de gérer les exceptions potentielles (par exemple, ArgumentOutOfRangeException
).
Choisissez la méthode la plus appropriée pour votre version .NET. DateTimeOffset
est généralement préféré pour sa précision améliorée et sa connaissance du fuseau horaire.
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!