最近写程序,涉及到了GPS周,今天就科普一下什么是GPS周
(图片来源于百度百科)
GPS周(GPS Week)是GPS系统内部所采用的时间系统。 时间零点定义的为:1980年1月5日夜晚与1980年1月6日凌晨之间0点。最大时间单位是周(一周:604800秒)。由于在储存周数的时候,用了10个比特,2的10次方是1024,所以每1024周(即7168天)为一循环周期。我们国家的北斗考虑到每1024周翻转一次过于频繁,所以就开了13个比特来存放周数,2的13次方为8192,大概是150多年翻转一次,我们这辈子恐怕没机会见到了,哈哈哈(现学现卖)第一个GPS周循环点为1999年8月22日0时0分0秒。即从这一刻起,周数重新从0开始算起。星期记数规则是:Sunday为0,Monday为1,以此类推,依次记作0~6,GPS周记数为“GPS周 星期记数”。2019年2月13日正处在2040周之后的第三天。第一个GPS周循环点1999年8月22日0时0分0秒。第二个循环点在今年,即2019年4月6-7日。就像千年虫问题困扰那样,GPS循环点来临时,未升级的GPS接收机都将在周归零日错认为1980年1月6日。
那么问题来了,怎样确定某一天是GPS周的第几周第几天呢?本人很懒,所以东瞧瞧西转转,一不小心发现了有个前辈无私的共享了他的代码,借来一用,稍加完善,如下图:
前辈代码
链接
小程序下载
链接
参考/引用 文章
[1] 小小毛头-sohu博主: http://bibber.blog.sohu.com/136039134.html