上次写gps时间转utc时间,就准备写这个方法。但由于vc2005出现问题,不能调试,而这个代码是从大工程中截取出来,不调试以下可能还不完整之类的,就没有继续写。最近有经历gps闰秒调整,决定还是将这个转换写完。
gps时有整周(7天)计数,与周内秒计数两部分组成。以前有通过gps时间的定义直接转换为utc时间的方法。这次这个写一下通过儒略日(Julian day)作为中间时间的转换方法。
次函数中考虑了GPS整周计数已经通过1024周,同时也增加了闰秒的调整方法,时差调整方法与闰秒类似。
这个转换方法与以前的转换方法区别不大。
转换为儒略日与天内秒后,可以方便输出gga等时间的帧头信息。如下图所示,但是缺少年月日信息。所以需要输出rmc的信息时,需要转换到common_time的形式。
以前的转换方法是将gps时间转换到距1980年的秒数,然后再通过秒来转换为common_time形式。
两种转换方法在转换上没有什么差别,喜欢哪个用哪个。
附上vc2005上运行成功的源码:http://yunpan.cn/cmzqu99v7GQ35 (提取码:63a2)