在 C# 中,你可以使用不同的方法来获取时间戳,下面是两种常用的方法:
- 使用
DateTime.Now
和TimeSpan
:
csharpCopy codeDateTime now = DateTime.Now;
TimeSpan timeSpan = now - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
long timestamp = (long)timeSpan.TotalSeconds;
Console.WriteLine(timestamp);
这种方法首先获取当前的 DateTime
对象,然后计算当前时间与 Unix 时间(1970年1月1日)之间的时间差,得到一个 TimeSpan
对象。最后,通过 TotalSeconds
属性获取时间差的总秒数,即时间戳。
- 使用
DateTimeOffset
和ToUnixTimeSeconds()
:
csharpCopy codeDateTimeOffset now = DateTimeOffset.UtcNow;
long timestamp = now.ToUnixTimeSeconds();
Console.WriteLine(timestamp);
这种方法使用 DateTimeOffset
对象来获取当前的时间,通过 ToUnixTimeSeconds()
方法将其转换为 Unix 时间戳。
需要注意的是,以上两种方法得到的时间戳都是以秒为单位的整数值。如果你需要以毫秒为单位的时间戳,可以将 TotalMilliseconds
或 ToUnixTimeMilliseconds()
属性用于第一种和第二种方法中的 TimeSpan
或 DateTimeOffset
对象。
另外,这些方法获取的时间戳是基于当前的系统时间。如果你需要获取特定时间点的时间戳,可以将对应的时间点转换为 DateTime
或 DateTimeOffset
对象后使用上述方法进行计算。
Comments | NOTHING