В последней версии.NET(v4.6) добавлена встроенная поддержка конверсий времени Unix. Это включает в себя и время Unix, представляемое либо секундами, либо миллисекундами.
Unix время в секундах до UTC DateTimeOffset:
DateTimeOffset dateTimeOffset = DateTimeOffset.FromUnixTimeSeconds(1000);
DateTimeOffset для Unix время в секундах:
long unixTimeStampInSeconds = dateTimeOffset.ToUnixTimeSeconds();
Время Unix в миллисекундах до UTC DateTimeOffset:
DateTimeOffset dateTimeOffset = DateTimeOffset.FromUnixTimeMilliseconds(1000000);
DateTimeOffset для времени Unix в миллисекундах:
long unixTimeStampInMilliseconds = dateTimeOffset.ToUnixTimeMilliseconds();
Примечание. Эти методы преобразуются в UTC DateTimeOffset и обратно. Чтобы получить представление DateTime просто используйте свойства DateTimeOffset.UtcDateTime или DateTimeOffset.LocalDateTime:
DateTime dateTime = dateTimeOffset.UtcDateTime;