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 關注
- 790 瀏覽
添加回答
舉報