Es gibt diesen Beispielcode, aber dann geht es um Millisekunden-/Nanosekundenprobleme.
Die gleiche Frage wird auf MSDN gestellt, Sekunden seit der Unix-Epoche in C# .
Das ist der Stand der Dinge:
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);
}
}
176 Stimmen
Die kommende .NET 4.6 (das noch in diesem Jahr veröffentlicht werden soll) wird diese Unterstützung eingeführt. Siehe
DateTimeOffset.FromUnixTimeSeconds
yDateTimeOffset.ToUnixTimeSeconds
Methoden. Es gibt auch Methoden für Millisekunden Unix-Zeit.7 Stimmen
Eine weitere Ergänzung war
DateTime.UnixEpoch
. Es sei denn, Sie brauchen eineDateTimeOffset
anstelle einerDateTime
denke ich.DateTime.UnixEpoch.AddMilliseconds(...)
hat eine etwas bessere Lesbarkeit alsDateTimeOffset.FromUnixTimeMilliseconds(...).UtcDateTime
.