【GPS周-周内秒、日历时、UTC转换和逆转换】
GPS
- 1. GPS周-周内秒与日历时的转换与逆转换
- 1.1 GPS周-周内秒到年月日系统的转换
- 1.2 GPS日历时与周-周内秒的转换
- 1.3 主函数调用
- 1.4 运行结果
- 2. GPS周-周内秒与UTC时间系统的转换与逆转换
- 2.1 GPS周-周内秒到UTC时间系统的转换
- 2.2 GPS UTC时间系统到周-周内秒的转换
- 2.3 主函数调用
- 2.4 运行结果
(1)为了保证导航和定位精度,全球定位系统GPS建立了专门的时间系统———GPS系统时,简称GPST。
(2)GPST属原子时系统,其秒长为国际制秒(SI),与原子时相同,但其起点与国际原子时(IAT)不同。因此GPST与IAT之间存在一个常数差,它们的关系为:
IAT – GPST = 19s
(3)GPST与UTC规定于1980年1月1日0时相一致,其后随着时间成整数倍积累, 至2017年底该差值为18s。GPST由主控站原子钟控制。
GPST = UTC(USNO) + ΔtUTC
ΔtUTC为GPST和UTC之间的闰秒差,在GPS导航电文中播发。
1. GPS周-周内秒与日历时的转换与逆转换
1.1 GPS周-周内秒到年月日系统的转换
//GPS周-周内秒到年月日系统的转换
//gpsWeek:GPS周;
//gpsWIS:gps周内秒
static private DateTime gps_WeekWIS_NYR(int gpsWeek, int gpsWIS)
{//604800 = 7*24*60*60 (一周的秒数)int difFromBegin = gpsWeek * 604800 + gpsWIS;//GPS以1980年1月6日,0时0分0秒为起点,用周数和周内秒数来表示DateTime gpsBeginTime = new DateTime(1980, 1, 6, 0, 0, 0);//AddSeconds():将指定的秒数加到实际值上return gpsBeginTime.AddSeconds(difFromBegin);
}
1.2 GPS日历时与周-周内秒的转换
//GPS日历时与周-周内秒的转换
static private int[] gps_NYR_WeekWIS(DateTime gpsNYR)
{int[] gpsWeekWIS = {0, 0};DateTime gpsBeginUTC = new DateTime(1980, 1, 6, 0, 0, 0);//计算两个UTC时的时间间隔TimeSpan interval = gpsNYR - gpsBeginUTC;//计算周int gpsWeek = (int)interval.TotalSeconds / 604800;//计算周内秒int gpsWIS = (int)interval.TotalSeconds % 604800;gpsWeekWIS[0] = gpsWeek;gpsWeekWIS[1] = gpsWIS;return gpsWeekWIS;
}
1.3 主函数调用
static void Main(string[] args)
{int[] gpsWeekWIS = { 2023, 432000 };Console.WriteLine("GPS周-周内秒:");Console.WriteLine("GPS周:{0:D},周内秒:{1:D}", gpsWeekWIS[0], gpsWeekWIS[1]);Console.WriteLine("----------------------------------------------------------");//====1、GPS周-周内秒与日历时的转换与逆转换====Console.Write("GPS周-周内秒对应日历时:");Console.WriteLine(gps_WeekWIS_NYR(gpsWeekWIS[0], gpsWeekWIS[1]));Console.Write("GPS年月日对应周-周内秒:");DateTime gpsNYR = new DateTime(2018, 10, 19, 0, 0, 0);int[] gpsWeekWISFromGpsNYR = gps_NYR_WeekWIS(gpsNYR);Console.WriteLine("GPS周:{0:D},周内秒:{1:D}", gpsWeekWISFromGpsNYR[0], gpsWeekWISFromGpsNYR[1]);Console.WriteLine("----------------------------------------------------------");Console.ReadLine();
}
1.4 运行结果
2. GPS周-周内秒与UTC时间系统的转换与逆转换
2.1 GPS周-周内秒到UTC时间系统的转换
//GPS周-周内秒到年月日系统的转换
//gpsWeek:GPS周;
//gpsWIS:gps周内秒
static private DateTime gps_WeekWIS_NYR(int gpsWeek, int gpsWIS)
{//604800 = 7*24*60*60 (一周的秒数)int difFromBegin = gpsWeek * 604800 + gpsWIS;//GPS以1980年1月6日,0时0分0秒为起点,用周数和周内秒数来表示DateTime gpsBeginTime = new DateTime(1980, 1, 6, 0, 0, 0);//AddSeconds():将指定的秒数加到实际值上return gpsBeginTime.AddSeconds(difFromBegin);
}static private DateTime gps_WeekWIS_UTC(int gpsWeek, int gpsWIS)
{DateTime gpsNYR = gps_WeekWIS_NYR(gpsWeek, gpsWIS);//GPS日历时比UTC时快18秒return gpsNYR.AddSeconds(-18.0);
}
2.2 GPS UTC时间系统到周-周内秒的转换
//GPS日历时与周-周内秒的转换
static private int[] gps_NYR_WeekWIS(DateTime gpsNYR)
{int[] gpsWeekWIS = {0, 0};DateTime gpsBeginUTC = new DateTime(1980, 1, 6, 0, 0, 0);//计算两个UTC时的时间间隔TimeSpan interval = gpsNYR - gpsBeginUTC;//计算周int gpsWeek = (int)interval.TotalSeconds / 604800;//计算周内秒int gpsWIS = (int)interval.TotalSeconds % 604800;gpsWeekWIS[0] = gpsWeek;gpsWeekWIS[1] = gpsWIS;return gpsWeekWIS;
}//GPSUTC时间系统到周-周内秒的转换
static private int[] gps_UTC_WeekWIS(DateTime gpsUTC)
{return gps_NYR_WeekWIS(gpsUTC.AddSeconds(18));
}
2.3 主函数调用
static void Main(string[] args)
{int[] gpsWeekWIS = { 2023, 432000 };Console.WriteLine("GPS周-周内秒:");Console.WriteLine("GPS周:{0:D},周内秒:{1:D}", gpsWeekWIS[0], gpsWeekWIS[1]);Console.WriteLine("----------------------------------------------------------");//====2.GPS周-周内秒与UTC时间系统的转换与逆转换====Console.Write("GPS周-周内秒对应UTC时:");Console.WriteLine(gps_WeekWIS_UTC(gpsWeekWIS[0], gpsWeekWIS[1]));Console.Write("UTC对应GPS周-周内秒:");DateTime gpsUTC = new DateTime(2018, 10, 18, 23, 59, 42);int[] gpsWeekWISFromGpsUTC = gps_UTC_WeekWIS(gpsUTC);Console.WriteLine("GPS周:{0:D},周内秒:{1:D}", gpsWeekWISFromGpsUTC[0], gpsWeekWISFromGpsUTC[1]);Console.WriteLine("----------------------------------------------------------"); Console.ReadLine();
}
2.4 运行结果
【GPS周-周内秒、日历时、UTC转换和逆转换】相关推荐
- 【BDS周-周内秒、日历时、UTC时转换和逆转换】
BDS 1.BDS周-周内秒与日历时的转换与逆转换 1.1 BDS周-周内秒到年月日时间系统的转换 1.2 年月日时间系统到BDS周-周内秒的转换 1.3 主函数调用 1.4 运行结果 2.BDS周- ...
- 周-周内秒转化为utc时间 c语言实现
用过北斗gps的都晓得,大部分都要用时间转换的操作: 本文主要是记录: 周-周内秒转换为utc的实现 北斗官网提供的一些转换源码,注册即可下载 至于儒略日 周-周内秒 utc等概念去查一查百度很多资料 ...
- GPS涉及到的各种时间转换(年月日,年积日,儒略日,GPS周及周内日或周内秒,星期几)python
因为写一些程序或脚本经常要涉及GPS的时间转换,比如下载各种产品遍历的时候可能需要用年积日,但是如果日期有跨年的话年积日也不方便,可能就需要先转儒略日再转对应的年月日,而有些产品命名又是GPS周相关, ...
- GPS时间以及周内秒
世界时UT是以地球自转为基础的时间系统,由于不恒定的自转速度.极移等,是一个非恒定均匀的时间系统. 原子时以能级跃迁的辐射电磁波频率为基础.是均匀时间系统. 协调世界时,上述二者的折中.一方面以严格原 ...
- GPS周和周内秒转公历时间 以及 公历时间转GPS周和周内秒 (python版)
下面是GPS周和周内秒转公历时间 以及 公历时间转GPS周和周内秒的小函数. def cal2gps(cal): # cal2gps 将公历GPS时间转换到GPS周和周内的秒 # 返回列表,周和周 ...
- 崩坏3抽奖模拟html5,崩坏3崩坏周周练5月18日答案大全 夜隐重霞崩坏周周练答案汇总...
崩坏3 大小: 角色养成 崩坏3崩坏周周练5月18日答案是什么?崩坏3在今天更新了崩坏周周练的题库,本期题目都围绕这"夜隐重霞"这个角色,对她不了解的玩家估计很难获得高分.下面就是 ...
- 《原力计划【第二季】》—— 第二周周榜
从2月21日开始<原力计划[第二季]- 学习力挑战>活动时间已经过半. 累计共有 7981 名博主参与了本次活动.本周收到活动投稿文章 14350 篇原创文章. 经过层层筛选,最后选出以下 ...
- wdcp+定时运营php_豪侠汇 | 本地商家智能运营方案支持,周周聚餐,每12月调薪机会!...
成都IT内推圈是由IT行业老兵组建的民间组织,我们希望能为广大IT同仁提供力所能及的帮助,我们不仅提供靠谱的职位,我们更是有温度的圈子!为了帮助更多的朋友寻找到靠谱的内推职位,老农在此号召大家: 1. ...
- 【采访】腾讯社交广告高校算法大赛决赛第二周周冠军——nju_newbiew比赛经验及心得分享
腾讯社交广告高校算法大赛决赛 第二周周冠军 他们的名字叫nju_newbiew 进入决赛之后他们的成绩是火速提升 直到稳定在第一名 这又是一支谜一般的队伍 今天小编就来给大家揭开神秘大佬的面纱 三个偶 ...
最新文章
- “当前不会命中断点 还没有为该文档加载任何符号”解决方法
- HTML5 组件Canvas实现图像灰度化
- 独立开发者分享:游戏本地化的6个建议
- 转:传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确 .
- 统计信息自动收集任务失效原因排查
- 华为宣布:免费培养2000名Java开发者
- 数据库零碎---常用的mysql命令,收藏了,方便查阅
- TimeQuest就一定要搞定——时序分析基本公式
- eclipse 项目显示红叉
- WEB测试环境搭建和测试方法大全
- PHP:错误控制运算符
- C++11/14的新特性——更简洁
- 【计网】2.2.4 Web缓存/代理服务器
- 排序算法-冒泡算法【GIF图解】初学者小白必看
- 用 Python 找出了拉黑 QQ 空间屏蔽我的大人物
- 关于网络下载的记忆碎片
- 【C51开发应用】基于C51单片机开发的循迹灭火机器人
- ybt1003:对齐输出
- 【hh】我胡汉三又回来了
- 信号与系统陈后金matlab,陈后金信号与系统matlab实验4.pdf