网上大多数都是使用两个时间相减获取时间戳,实际上获得的时间是有偏差的。
其实dot net默认就有获取时间戳的方法,在微软找到很久官方最终找到了这个方法地址在下方
https://learn.microsoft.com/zh-cn/dotnet/api/system.datetimeoffset?view=net-7.0
使用DateTimeOffset
类可以获取时间戳,其中有两个方法
ToUnixTimeMilliseconds()
返回自 1970-01-01T00:00:00.000Z 起已经过的毫秒数。
ToUnixTimeSeconds()
返回自 1970-01-01T00:00:00.00Z 起已经过的秒数。
根据文档可以使用以下写法获取到秒的时间戳
new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();