

Public static DateTimeOffset FromUnixTimeSeconds(long seconds) NET 4.6 and later: public static class UnixDateTime The documentation for it is here: and here. Long backToMillisecs = backToUnixTimeOffset.ToUnixTimeMilliseconds()

To convert it back from DateTime to Unix millisecond time: DateTimeOffset backToUnixTimeOffset = new DateTimeOffset(dt, TimeSpan.Zero) Next create a DateTime instance from the offset: DateTime dt = new DateTime(unixTimeOffset.Ticks, DateTimeKind.Utc) Note: the offset has an Offset property which will be set to TimeSpan.Zero, which represents UTC, it is not timezone adjusted.

To use it, first convert the milliseconds to a DateTimeOffset: long millisecs = 1677514053797 // replace this with the Unix time you need to convertĭateTimeOffset unixTimeOffset = DateTimeOffset.FromUnixTimeMilliseconds(millisecs) This accepts the Unix time in milliseconds that have elapsed since (January 1, 1970, at 12:00 AM UTC). NET the DateTimeOffset class has had a method called FromUnixTimeMilliseconds which does do what you're looking for. Return new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero).AddTicks(timeInTicks) įor a while in. Public static DateTimeOffset ToDateTimeOffsetFromEpoch(this long intDate) / Converts the given epoch time to a UTC. Return new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).AddTicks(timeInTicks) Var timeInTicks = intDate * TimeSpan.TicksPerSecond Public static DateTime ToDateTimeFromEpoch(this long intDate) / Converts the given epoch time to a with kind. Var ticks = date.Ticks - new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero).Ticks Public static long ToEpochTime(this DateTimeOffset dateTime) Var ts = ticks / TimeSpan.TicksPerSecond Var ticks = date.Ticks - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).Ticks Public static long ToEpochTime(this DateTime dateTime) / Converts the given date value to epoch time. See IdentityModel.EpochTimeExtensions public static class EpochTimeExtensions
