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: