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) private static long ToUnixTime(DateTime dateTime)
{ {
var timeSpan = dateTime - new DateTime(1970, 1, 1); var timeSpan = dateTime - DateTime.UnixEpoch;
var timestamp = (long)timeSpan.TotalSeconds; var timestamp = (long)timeSpan.TotalSeconds;
return timestamp; return timestamp;

View file

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