Ram*_*mah 5 c# datetime gps gps-time
我有一个GPS设备,可以将一些物体(包括GPS时间)发送到我的服务器.
它以周数的形式出现,以秒为单位.
我想将其转换为日期时间格式.我找到了一些代码,但我发现的是如何将周数转换为日期,不包括第二周.
我找到了这个网页,但是我无法在c#windows app代码中找到如何做到这一点.
样本数据:
GPS Week number 1643
GPS second into week 377505
Run Code Online (Sandbox Code Playgroud)
那应该是2011/07/07 10:51:44.
如果您知道代表星期的DateTime,只需调用AddSeconds来查找所需的DateTime.
根据您上面链接的计算器,第1643周,377505应该等于2011/07/07 07:51:44,而不是10:51:44(可能是时区偏移?)无论如何,下面的代码片段会给出当您选择GMT时,您所获得的结果与链接中的计算器相同 - 对于不同的时区,您必须应用自己的偏移量.
DateTime GetFromGps(int weeknumber, double seconds)
{
DateTime datum = new DateTime(1980,1,6,0,0,0);
DateTime week = datum.AddDays(weeknumber * 7);
DateTime time = week.AddSeconds(seconds);
return time;
}
Run Code Online (Sandbox Code Playgroud)