Wie bekomme ich Timestamp in sekunden seit Unix 1970 in c#

Hallo

Code:
TimeSpan t = (DateTime.UtcNow - new DateTime(1970, 1, 1));
int timestamp  = (int) t.TotalSeconds;
Console.WriteLine (timestamp);

MfG,
Alex
 
Sei kreativ, ist nicht schwer. ;)

Code:
System.DateTime dt= new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
dt= dt.AddSeconds(1113211532); // timestamp addieren..
 
Hallo Leute,

ich hatte ein paar Probleme mit der UTC und der Local-Time (Sommerzeit und Zeitzonen).

Deshalb habe ich den Code so erweitert:

Code:
 Function GetDateTimeFromTimestamp(ByVal seconds As Long) As DateTime

        Dim myDt As DateTime
        myDt = New System.DateTime(1970, 1, 1, 0, 0, 0, 0)

        Dim t As TimeSpan = (DateTime.UtcNow - DateTime.Now) ' Differenz UTC zu Lokaler Zeit
        Dim timestamp As Long = t.TotalSeconds

        myDt = myDt.AddSeconds(seconds - timestamp) ' timestamp addieren..

        Return myDt

    End Function

nun bekomme ich aus einem lokalem Timestamp eine korrekte DateTime (UTC) zurück.
Der Code ist noch nicht vollständig getestet und soll als Anregung verstanden werden.

Gruß

Raabun
 
Zurück