我在将纳秒转换为DateTime
方面遇到了一些麻烦,因此我可以使用Google Fit API(https://developers.google.com/fit/rest/v1/reference/users/dataSources/datasets/get)
数据集标识符,它是最小数据点开始的组合 时间和最大数据点结束时间表示为纳秒 时代。 ID的格式如下:“startTime-endTime”其中 startTime和endTime是64位整数。
我能够以这种方式从datetime转换为纳秒
DateTime zuluTime = ssDatetime.ToUniversalTime();
DateTime unixEpoch = new DateTime(1970, 1, 1);
ssNanoSeconds = (Int32)(zuluTime.Subtract(unixEpoch)).TotalSeconds + "000000000";
但现在我需要将纳秒转换为DateTime
。我该怎么办?
答案 0 :(得分:3)
使用AddTicks方法。不要忘记将纳秒除以100来获得滴答声。
long nanoseconds = 1449491983090000000;
DateTime epochTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime result = epochTime.AddTicks(nanoseconds / 100);
答案 1 :(得分:2)
Ticks属性表示100纳秒。那怎么样:
var ssNanoSeconds = ((zuluTime.Subtract(unixEpoch)).Ticks / 100)
从纳秒到日期时间
DateTime dateTime = new DateTime(1970, 1, 1).AddTicks(nanoSeconds * 100) ;