如何在 .NET 5 中以微秒為單位獲取當前的 unix 時間戳?我環顧四周,只找到了一種方法,可以在毫秒內獲得它ToUnixTimeMilliseconds,而沒有任何包括微秒的方法。
uj5u.com熱心網友回復:
您只需要從 中減去 Unix 紀元 (1970-01-01T00:00:00Z)DateTimeOffset即可得到 a TimeSpan,然后通過將滴答總數除以 10 得到微秒數:
using System;
public static class DateTimeOffsetExtensions
{
private static readonly DateTimeOffset UnixEpoch =
new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero);
public static long ToUnixTimeMicroseconds(this DateTimeOffset timestamp)
{
TimeSpan duration = timestamp - UnixEpoch;
// There are 10 ticks per microsecond.
return duration.Ticks / 10;
}
}
public class Test
{
static void Main()
{
DateTimeOffset now = DateTimeOffset.UtcNow;
Console.WriteLine(now.ToUnixTimeMicroseconds());
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/360550.html
