Fixed DateTimeUtils on .Net Standard 1.1
This commit is contained in:
@@ -2,12 +2,13 @@
|
|||||||
|
|
||||||
namespace Discord
|
namespace Discord
|
||||||
{
|
{
|
||||||
|
//Source: https://github.com/dotnet/coreclr/blob/master/src/mscorlib/src/System/DateTimeOffset.cs
|
||||||
internal static class DateTimeUtils
|
internal static class DateTimeUtils
|
||||||
{
|
{
|
||||||
#if !NETSTANDARD1_3
|
#if !NETSTANDARD1_3
|
||||||
//https://github.com/dotnet/coreclr/blob/master/src/mscorlib/src/System/DateTimeOffset.cs
|
private const long UnixEpochTicks = 621_355_968_000_000_000;
|
||||||
private const long UnixEpochTicks = 621355968000000000;
|
private const long UnixEpochSeconds = 62_135_596_800;
|
||||||
private const long UnixEpochSeconds = 62135596800;
|
private const long UnixEpochMilliseconds = 62_135_596_800_000;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
public static DateTimeOffset FromSnowflake(ulong value)
|
public static DateTimeOffset FromSnowflake(ulong value)
|
||||||
@@ -29,12 +30,12 @@ namespace Discord
|
|||||||
return new DateTimeOffset(ticks, TimeSpan.Zero);
|
return new DateTimeOffset(ticks, TimeSpan.Zero);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
public static DateTimeOffset FromUnixMilliseconds(long seconds)
|
public static DateTimeOffset FromUnixMilliseconds(long milliseconds)
|
||||||
{
|
{
|
||||||
#if NETSTANDARD1_3
|
#if NETSTANDARD1_3
|
||||||
return DateTimeOffset.FromUnixTimeMilliseconds(seconds);
|
return DateTimeOffset.FromUnixTimeMilliseconds(milliseconds);
|
||||||
#else
|
#else
|
||||||
long ticks = seconds * TimeSpan.TicksPerMillisecond + UnixEpochTicks;
|
long ticks = milliseconds * TimeSpan.TicksPerMillisecond + UnixEpochTicks;
|
||||||
return new DateTimeOffset(ticks, TimeSpan.Zero);
|
return new DateTimeOffset(ticks, TimeSpan.Zero);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -53,8 +54,8 @@ namespace Discord
|
|||||||
#if NETSTANDARD1_3
|
#if NETSTANDARD1_3
|
||||||
return dto.ToUnixTimeMilliseconds();
|
return dto.ToUnixTimeMilliseconds();
|
||||||
#else
|
#else
|
||||||
long seconds = dto.UtcDateTime.Ticks / TimeSpan.TicksPerMillisecond;
|
long milliseconds = dto.UtcDateTime.Ticks / TimeSpan.TicksPerMillisecond;
|
||||||
return seconds - UnixEpochSeconds;
|
return milliseconds - UnixEpochMilliseconds;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user