c#怎么獲取unix時(shí)間戳

小億
343
2023-11-08 15:40:51

在C#中,可以使用以下方法獲取Unix時(shí)間戳:

DateTimeOffset unixStart = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero);
TimeSpan unixTimeSpan = DateTimeOffset.UtcNow - unixStart;
long unixTimestamp = (long)unixTimeSpan.TotalSeconds;

在上述代碼中,首先創(chuàng)建了一個(gè)DateTimeOffset對(duì)象,表示Unix時(shí)間戳的起始時(shí)間(1970年1月1日),并指定為UTC時(shí)間。然后,通過(guò)計(jì)算當(dāng)前時(shí)間與起始時(shí)間之間的時(shí)間間隔,得到一個(gè)TimeSpan對(duì)象。最后,通過(guò)TotalSeconds屬性將時(shí)間間隔轉(zhuǎn)換為秒數(shù),并將其轉(zhuǎn)換為長(zhǎng)整型,即為Unix時(shí)間戳。

另外,如果你希望獲取的是毫秒級(jí)的Unix時(shí)間戳,可以將最后一行的代碼修改為:

long unixTimestamp = (long)unixTimeSpan.TotalMilliseconds;

這樣就可以獲取毫秒級(jí)的Unix時(shí)間戳了。

0