diff --git a/src/ServiceStack.Text/DateTimeExtensions.cs b/src/ServiceStack.Text/DateTimeExtensions.cs index 0373037f3..4c79c3792 100644 --- a/src/ServiceStack.Text/DateTimeExtensions.cs +++ b/src/ServiceStack.Text/DateTimeExtensions.cs @@ -45,6 +45,12 @@ public static long ToUnixTimeMsAlt(this DateTime dateTime) { return (dateTime.ToStableUniversalTime().Ticks - UnixEpoch) / TimeSpan.TicksPerMillisecond; } + + public static long ToUnixTimeMs(this DateTimeOffset dateTimeOffset) + { + var universal = ToDateTimeSinceUnixEpoch(dateTimeOffset); + return (long)universal.TotalMilliseconds; + } public static long ToUnixTimeMs(this DateTime dateTime) { @@ -56,6 +62,9 @@ public static long ToUnixTime(this DateTime dateTime) { return (dateTime.ToDateTimeSinceUnixEpoch().Ticks) / TimeSpan.TicksPerSecond; } + + private static TimeSpan ToDateTimeSinceUnixEpoch(this DateTimeOffset dateTimeOffset) + => ToDateTimeSinceUnixEpoch(dateTimeOffset.UtcDateTime); private static TimeSpan ToDateTimeSinceUnixEpoch(this DateTime dateTime) {