-2
我有兩個uint32變量。它們以秒和微秒錶示Unix時間戳。第一個變量保存秒,第二個保存微秒。我如何將它們添加到一起並將它們轉換爲DateTimeOffset。我想要一個特定於.Net 4.6的答案,它具有新的FromUnixTimeSeconds()方法和一個可以在.Net 4.6之前的代碼中工作的答案。秒和微秒(Unix時間)到DateTimeOffset
我有兩個uint32變量。它們以秒和微秒錶示Unix時間戳。第一個變量保存秒,第二個保存微秒。我如何將它們添加到一起並將它們轉換爲DateTimeOffset。我想要一個特定於.Net 4.6的答案,它具有新的FromUnixTimeSeconds()方法和一個可以在.Net 4.6之前的代碼中工作的答案。秒和微秒(Unix時間)到DateTimeOffset
微秒是1/1.000.000秒。 DateTimeOffset
確實沒有AddMicroseconds
,但它有AddTicks
。蜱是一秒鐘的1/10.000.000,所以:
DateTimeOffset.FromUnixTimeSeconds(seconds).AddTicks(microSeconds * 10);
此前.NET 4.6,你可以做這樣的事情:
new DateTimeOffset(DateTime.SpecifyKind(new DateTime(1970, 1, 1), DateTimeKind.Utc)).AddSeconds(seconds).AddTicks(microSeconds * 10);
所以,只需撥打FromUnixTimeSeconds與秒,然後加入到微秒結果? – Evk
DateTimeOffset上沒有AddMicroseconds方法。我想我需要先蜱。 – Mark