ServiceStack.Text.DateTimeExtensions.ToDateTimeSinceUnixEpoch C# (CSharp) Method

ToDateTimeSinceUnixEpoch() private static method

private static ToDateTimeSinceUnixEpoch ( this dateTime ) : System.TimeSpan
dateTime this
return System.TimeSpan
        private static TimeSpan ToDateTimeSinceUnixEpoch(this DateTime dateTime)
        {
            var dtUtc = dateTime;
            if (dateTime.Kind != DateTimeKind.Utc)
            {
                dtUtc = dateTime.Kind == DateTimeKind.Unspecified && dateTime > DateTime.MinValue && dateTime < DateTime.MaxValue
                    ? DateTime.SpecifyKind(dateTime.Subtract(DateTimeSerializer.LocalTimeZone.GetUtcOffset(dateTime)), DateTimeKind.Utc)
                    : dateTime.ToStableUniversalTime();
            }

            var universal = dtUtc.Subtract(UnixEpochDateTimeUtc);
            return universal;
        }