Wie kann ich einen Unix-Zeitstempel in DateTime umwandeln und umgekehrt?
Es gibt diesen Beispielcode, aber dann geht es um Millisekunden-/Nanosekundenprobleme.
Die gleiche Frage ist auf MSDN, Sekunden seit der Unix-Epoche in C#.
Dies ist, was ich bis jetzt habe:
public Double CreatedEpoch
{
get
{
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();
TimeSpan span = (this.Created.ToLocalTime() - epoch);
return span.TotalSeconds;
}
set
{
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();
this.Created = epoch.AddSeconds(value);
}
}
707
3
Hier ist, was Sie brauchen:
Oder für Java (was anders ist, weil der Zeitstempel in Millisekunden und nicht in Sekunden angegeben wird):
Ich habe die richtige Antwort gefunden, indem ich einfach die Umrechnung zum 1.1.1970 ohne die Anpassung der Ortszeit verglichen habe;
Ein Unix-Tick ist 1 Sekunde (wenn ich mich richtig erinnere), und ein .NET-Tick ist 100 Nanosekunden.
Wenn Sie Probleme mit Nanosekunden haben, sollten Sie vielleicht versuchen, AddTick(10000000 * Wert) zu verwenden.