Unix-DateTime-Konvertierung

Stellt einfache Konvertierungsfunktionen zwischen UNIX-Time­stamps 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: .NET Ab Version 2.0

Download

UnixDateTime.cs716 BQuelltext der Unix-DateTime-Konvertierungsfunktionen

Inhalt der Datei:

/// <summary>
/// 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.