refactor: use DateTime.UnixEpoch for Unix timestamp calculations

This commit is contained in:
Nikolay Zdravkov 2026-04-25 01:56:25 +03:00
parent 46ce8e2701
commit 34cb4e511e
No known key found for this signature in database
GPG key ID: 7AFEA0D2CE1C5858
2 changed files with 3 additions and 7 deletions

View file

@ -99,7 +99,7 @@ public static string GetTimestamp(DateTime dateTime)
private static long ToUnixTime(DateTime dateTime)
{
var timeSpan = dateTime - new DateTime(1970, 1, 1);
var timeSpan = dateTime - DateTime.UnixEpoch;
var timestamp = (long)timeSpan.TotalSeconds;
return timestamp;

View file

@ -27,17 +27,13 @@ public static DateTime UnixTimestampToDateTime(long unixTime)
public static DateTime UnixTimestampToDateTime(double unixTime)
{
var unixStart = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
var unixTimeStampInTicks = (long)(unixTime * TimeSpan.TicksPerSecond);
return new DateTime(unixStart.Ticks + unixTimeStampInTicks);
return new DateTime(DateTime.UnixEpoch.Ticks + unixTimeStampInTicks, DateTimeKind.Utc);
}
public static double DateTimeToUnixTimestamp(DateTime dt)
{
var date = dt.ToUniversalTime();
var ticks = date.Ticks - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).Ticks;
var ts = ticks / TimeSpan.TicksPerSecond;
return ts;
return (double)new DateTimeOffset(dt.ToUniversalTime()).ToUnixTimeSeconds();
}
// ex: "2 hours 1 day"