3 回答
TA贡献1852条经验 获得超1个赞
从.NET 4.6开始,就有了DateTimeOffset.ToUnixTimeSeconds()。
这是一个实例方法,因此您需要在实例上调用它DateTimeOffset。您也可以投射任何实例DateTime,但要注意时区。
要获取当前时间戳:
DateTimeOffset.UtcNow.ToUnixTimeSeconds()
要从以下位置获取时间戳DateTime:
DateTime foo = DateTime.UtcNow;
long unixTime = ((DateTimeOffset)foo).ToUnixTimeSeconds();
TA贡献1780条经验 获得超5个赞
你也可以使用Ticks。我正在为Windows Mobile编码,所以没有完整的方法。我无法使用TotalSeconds。
long epochTicks = new DateTime(1970, 1, 1).Ticks;
long unixTime = ((DateTime.UtcNow.Ticks - epochTicks) / TimeSpan.TicksPerSecond);
要么
TimeSpan epochTicks = new TimeSpan(new DateTime(1970, 1, 1).Ticks);
TimeSpan unixTicks = new TimeSpan(DateTime.UtcNow.Ticks) - epochTicks;
double unixTime = unixTicks.TotalSeconds;
- 3 回答
- 0 关注
- 746 浏览
添加回答
举报