Unix-DateTime-Konvertierung
Stellt einfache Konvertierungsfunktionen zwischen UNIX-Timestamps und einem .NET-DateTime-Wert bereit.
An vielen Stellen werden zur Speicherung und Übertragung von Zeitwerten sog. UNIX-Zeitstempel verwendet. Das ist ein Integer-Wert, der die Anzahl der Sekunden darstellt, die zu einem bestimmten Zeitpunkt seit dem 1. Januar 1970 0:00 Uhr UTC vergangen sind. (Schaltsekunden werden nicht berücksichtigt.) Bei Verwendung eines Int32
-Werts (signed integer, 32 bit) können so Zeitwerte von 13. Dezember 1901, 20:46 Uhr UTC bis 19. Januar 2038, 3:14 Uhr UTC dargestellt werden.
Der UNIX-Timestamp berechnet sich immer in UTC, ändert sich also nicht bei Zeitzonenwechseln wie Sommerzeiten. Für die Darstellung wird üblicherweise lokale Zeit verwendet, wie sie bei verwendung von DateTime.Now
angegeben wird. Deshalb wird die DateTime
-Angabe in diesen Funktionen auch aus bzw. in lokale Zeit umgerechnet. Dieser Teil kann entfernt werden, wenn eine Umrechnung zu UTC gewünscht ist.
Kompatibilität:
Download
UnixDateTime.cs716 BQuelltext der Unix-DateTime-Konvertierungsfunktionen
Inhalt der Datei:
/// Wandelt eine Zeit im DateTime-Format in einen UNIX-TimeStamp um.
/// </summary>
/// <param name="TimeStamp">Der umzuwandelnde Timestamp</param>
/// <returns></returns>
public static int DateTime2TimeStamp(DateTime Time)
{
DateTime x = new DateTime(1970, 1, 1, 0, 0, 0);
return (int) ((Time.ToUniversalTime().Ticks - x.Ticks) / 10000000);
}
/// <summary>
/// Wandelt einen UNIX-TimeStamp in das DateTime-Format um.
/// </summary>
/// <param name="TimeStamp">Der umzuwandelnde Timestamp</param>
/// <returns></returns>
public static DateTime TimeStamp2DateTime(int TimeStamp)
{
DateTime x = new DateTime(1970, 1, 1, 0, 0, 0);
return x.AddSeconds(TimeStamp).ToLocalTime();
}
Lizenz und Nutzungsbedingungen
Diese Software ist als kompilierte Version und im Quelltext frei und uneingeschränkt verfügbar („Public Domain“). Ich gebe keine Garantie, auch nicht auf Lauffähigkeit oder Benutzbarkeit. Die Nutzung erfolgt auf eigene Gefahr, ich hafte nicht für Schäden, die durch sachgemäßen oder unsachgemäßen Gebrauch dieses Programms entstehen.
Statistische Daten
- Erstellt am 2007-04-02.