C#-Epochenzeit-zu-Echtzeit-Konvertierungsmethoden
Diese Anleitung zeigt, wie man die Unix-Epochenzeit (Sekunden seit dem 1. Januar 1970, UTC) in ein lesbares Datum und eine lesbare Uhrzeit in C# umwandelt. Mehrere Ansätze berücksichtigen unterschiedliche .NET-Versionen.
Modernes .NET (Core >= 2.1 und höher):
Die einfachste Methode nutzt integrierte Funktionen:
DateTime realTime = DateTime.UnixEpoch.AddSeconds(epochSeconds); // For seconds DateTime realTimeMillis = DateTime.UnixEpoch.AddMilliseconds(epochMilliseconds); // For milliseconds
DateTimeOffset verwenden (empfohlen seit 2020):
DateTimeOffset
bietet eine verbesserte Zeitzonenbehandlung:
DateTimeOffset realTimeOffset = DateTimeOffset.FromUnixTimeSeconds(epochSeconds); // For seconds DateTimeOffset realTimeOffsetMillis = DateTimeOffset.FromUnixTimeMilliseconds(epochMilliseconds); // For milliseconds DateTime realTime = realTimeOffset.DateTime; // Extract DateTime if needed
Für ältere .NET-Versionen (vor 2020):
Für ältere .NET-Frameworks, denen die oben genannten Methoden fehlen, ist eine benutzerdefinierte Funktion erforderlich:
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); }
Diese Funktion fügt das angegebene unixTime
(in Sekunden) zur Unix-Epoche hinzu, was zu einem DateTime
-Objekt führt, das die Echtzeit darstellt. Denken Sie daran, mögliche Ausnahmen zu behandeln (z. B. ArgumentOutOfRangeException
).
Wählen Sie die für Ihre .NET-Version am besten geeignete Methode. DateTimeOffset
wird im Allgemeinen wegen seiner verbesserten Präzision und Zeitzonenerkennung bevorzugt.
Das obige ist der detaillierte Inhalt vonWie kann ich Epoche Zeit in Echtzeit in C#konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!