C# 秒和微秒(Unix时间)到DateTimeOffset

C# 秒和微秒(Unix时间)到DateTimeOffset,c#,C#,我有两个uint32变量。它们以秒和微秒表示Unix时间戳。第一个变量保存秒数,第二个变量保存微秒数。如何将它们添加到一起并将其转换为DateTimeOffset。我想要一个特定于.Net 4.6的答案,它有一个新的FromUnixTimeSeconds()方法和一个可以使用.Net 4.6之前的代码的答案。微秒是1/1.000.000秒DateTimeOffset确实没有AddMicroseconds,但它有AddTicks。滴答声为1/10.000.000秒,因此: DateTimeOffs

我有两个uint32变量。它们以秒和微秒表示Unix时间戳。第一个变量保存秒数,第二个变量保存微秒数。如何将它们添加到一起并将其转换为DateTimeOffset。我想要一个特定于.Net 4.6的答案,它有一个新的FromUnixTimeSeconds()方法和一个可以使用.Net 4.6之前的代码的答案。

微秒是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);

所以,只需使用秒从UnixtimeSeconds调用,然后将微秒添加到结果中?DateTimeOffset上没有AddMicroseconds方法。我想我首先需要蜱。