如何在C#中获取unix时间戳

我已经浏览过stackoverflow,甚至看了一些建议的问题,似乎没有人回答,你如何在C#中获得unix时间戳?



达令说
浏览 711回答 3
3回答

小怪兽爱吃肉

从.NET 4.6开始,就有了DateTimeOffset.ToUnixTimeSeconds()。这是一个实例方法,因此您需要在实例上调用它DateTimeOffset。您也可以投射任何实例DateTime,但要注意时区。要获取当前时间戳:DateTimeOffset.UtcNow.ToUnixTimeSeconds()要从以下位置获取时间戳DateTime:DateTime foo = DateTime.UtcNow;long unixTime = ((DateTimeOffset)foo).ToUnixTimeSeconds();

翻阅古今

你也可以使用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;
打开App,查看更多内容
随时随地看视频慕课网APP