Feedback

Datum in Unix-Timestamp wandeln

Sprache: C#

Genauere Details über die UNIX-Time(stamp) http://de.wikipedia.org/wiki/Unixzeit
        private int conv_Date2Timestam()
        {
            DateTime date1 = new DateTime(1970, 1, 1);  //Refernzdatum (festgelegt)
            DateTime date2 = DateTime.Now;              //jetztiges Datum / Uhrzeit
            TimeSpan ts = new TimeSpan(date2.Ticks - date1.Ticks);  // das Delta ermitteln
            // Das Delta als gesammtzahl der sekunden ist der Timestamp
            return(Convert.ToInt32(ts.TotalSeconds));
        }
        private int conv_Date2Timestam()
        {
            DateTime date1 = new DateTime(1970, 1, 1);  //Refernzdatum (festgelegt)
            DateTime date2 = DateTime.Now;              //jetztiges Datum / Uhrzeit
            TimeSpan ts = new TimeSpan(date2.Ticks - date1.Ticks);  // das Delta ermitteln
            // Das Delta als gesammtzahl der sekunden ist der Timestamp
            return(Convert.ToInt32(ts.TotalSeconds));
        }

2 Kommentare

  1. Die DateTimes könnten direkt voneinander abgezogen werden. Das Ergebnis wäre dann sofort eine TimeSpan. Der Umweg über den Konstruktor und die Ticks ist nicht nötig.

  2. Kleine Anmerkung, an den doch schon etwas älteren Beitrag.
    So wie oben beschrieben liefert die Methode ein falschen UTS Ergebnis.
    Der wird von der UTC Zeit(koordinierte Weltzeit) aus berechnet nicht von der Lokalen Zeit.

    Lösung:
    DateTime date2 = DateTime.Now.ToUniversalTime();

    😉