Inspired by this StackOverflow thread.
For .NET 4.5 and earlier. These methods are implemented in .NET 4.6:
| namespace Extensions | |
| { | |
| using System; | |
| public static class DateTimeOffsetExtensions | |
| { | |
| public static DateTimeOffset FromUnixTimeSeconds(this long seconds) | |
| { | |
| var dateTimeOffset = new DateTimeOffset(new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)); | |
| dateTimeOffset = dateTimeOffset.AddSeconds(seconds); | |
| return dateTimeOffset; | |
| } | |
| public static long ToUnixTimeSeconds(this DateTimeOffset dateTimeOffset) | |
| { | |
| var unixStart = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); | |
| var unixTimeStampInTicks = (dateTimeOffset.ToUniversalTime() - unixStart).Ticks; | |
| return unixTimeStampInTicks / TimeSpan.TicksPerSecond; | |
| } | |
| } | |
| } |
Inspired by this StackOverflow thread.
For .NET 4.5 and earlier. These methods are implemented in .NET 4.6: