将纳秒转换为日期时间

Lui*_*uis 3 c# datetime google-fit-sdk google-fit

我在将纳秒转换为时遇到了一些麻烦,DateTime因此我可以使用 Google Fit API ( https://developers.google.com/fit/rest/v1/reference/users/dataSources/datasets/get )

数据集标识符是最小数据点开始时间和最大数据点结束时间的组合,表示为从纪元开始的纳秒。ID 的格式如下:“startTime-endTime”,其中 startTime 和 endTime 是 64 位整数。

我能够以这种方式从日期时间转换为纳秒

DateTime zuluTime = ssDatetime.ToUniversalTime();
DateTime unixEpoch = new DateTime(1970, 1, 1);
ssNanoSeconds = (Int32)(zuluTime.Subtract(unixEpoch)).TotalSeconds + "000000000";
Run Code Online (Sandbox Code Playgroud)

但现在我需要将纳秒转换为DateTime. 我该怎么做?

Ser*_*hyk 6

使用AddTicks方法。不要忘记将纳秒除以 100 以获得刻度。

long nanoseconds = 1449491983090000000;
DateTime epochTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime result = epochTime.AddTicks(nanoseconds / 100);
Run Code Online (Sandbox Code Playgroud)