在C#中,可以使用 DateTime
結(jié)構(gòu)的 Ticks
屬性來獲取時間戳。
時間戳是指從某個特定時間(通常是1970年1月1日午夜UTC)以來經(jīng)過的毫秒數(shù)。
下面是獲取當(dāng)前時間戳的方法:
DateTime currentTime = DateTime.UtcNow;
long timestamp = currentTime.Ticks / TimeSpan.TicksPerMillisecond;
上述代碼將當(dāng)前時間轉(zhuǎn)換為UTC時間,然后通過 Ticks
屬性獲取從 DateTime.MinValue
(即0001年1月1日午夜)到當(dāng)前時間的總滴答數(shù),再除以 TimeSpan.TicksPerMillisecond
得到時間戳。
注意,DateTime.UtcNow
方法獲取的是當(dāng)前的UTC時間,而 DateTime.Now
方法獲取的是當(dāng)前的本地時間。根據(jù)需要選擇適合的方法。
另外,如果需要使用特定時區(qū)的時間戳,可以使用 DateTimeOffset
結(jié)構(gòu)來獲取。方法類似:
DateTimeOffset currentTime = DateTimeOffset.Now;
long timestamp = currentTime.ToUnixTimeMilliseconds();
這里使用 ToUnixTimeMilliseconds()
方法直接將 DateTimeOffset
對象轉(zhuǎn)換為時間戳。