MJD时间的计算与UTC的转换
- UTC(Universal Time, Co-ordinated) :世界协调时间
- MJD(Modified Julian Date): 简化的儒略日
- JD(Julian Day):儒略日
连续纪日的儒略日(JD):以儒略历公元前4713年1月1日的GMT正午为第0日的开始。
简化儒略日(MJD): MJD=JD-2400000.5 MJD的第0日是从公历1858年11月17日的GMT零时开始的。
在线计算MJD(十进制):http://www.csgnetwork.com/julianmodifdateconv.html
十进制转十六进制:https://www.rapidtables.com/convert/number/decimal-to-hex.html
计算MJD时间的C++代码:
#include <bits/stdc++.h>using namespace std;//年月日 转 mjd
long cal_mjd(int y, int m, int d) {//计算出儒略日int jd = (d - 32075 + 1461 * (y + 4800 + (m - 14) / 12) / 4 + 367 * (m - 2 - (m - 14) / 12 * 12) / 12 -3 * ((y + 4900 + (m - 14) / 12) / 100) / 4);//简化儒略日,其定义为://MJD=JD-2400000.5int mjd = jd - 2400000.5;return mjd;
}//mjd 转 年月日
void MJD2YMD(long MJD) {int year, month, day;short K;short dayInMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};year = ((MJD) * 100 - 1507820) / 36525;month = ((MJD) * 10000 - 149561000 - year * 36525 / 100 * 10000) / 306001;day = (MJD) - 14956 - (year * 36525) / 100 - (month * 306001) / 10000;if (month == 14 || month == 15) {K = 1;} else {K = 0;}year = year + K;month = month - 1 - K * 12;if ((year % 4 == 0) && (year % 400 != 0)) {dayInMonth[2] = 29;}if (day > dayInMonth[month]) {day -= dayInMonth[month];month += 1;if (month > 12) {month -= 12;year += 1;}}int Y = year + 1900;int M = month;int D = day;cout << "year = " << Y << " Month = " << M << " Day = " << D << endl;return;
}int main() {long mjd = cal_mjd(2023, 9, 15);cout << "get MJD:" << mjd << endl;cout << "MJD to Date:";MJD2YMD(mjd);return 0;
}
MJD时间的计算与UTC的转换相关推荐
- C#编程练习(03):北斗时间系统、GPS时间系统及其与UTC时间系统之间的转换
需求说明:北斗周-周内秒转化为日历时,转化为UTC时,转化为GPS周周内秒 GPS周-周内秒转化为日历时,转化为UTC时,转化为北斗周-周内秒 设计示意图: 源代码: using System; us ...
- GPS的UTC时间,计算年月日,时分秒
GPS的UTC时间,计算年月日,时分秒,gps的格式有多种,gps是可以自己计算年月日,时分秒的 可以直接从数据段获取,但是也可以用utc,时间来计算 utc单位是秒,包含年的时间,我的这款gps是从 ...
- android utc时间转换,android 获取UTC时间和与.net时间戳的转换
本文纯属整合,将在项目中用到的UTC时间和与.NET时间戳的转换进行记录.1.android获取UTC时间/***获取UTC时间**@return*/publicstaticStringgetUTCT ...
- Java 中 UTC 如何转换 CST(北京时间)
UTC.GMT.CST等时间概念 GMT(格林尼治平时) 格林尼治平时(又称格林尼治平均时间或格林尼治标准时间,旧译格林威治标准时间:英语:Greenwich MeanTime,GMT)是指位于英国伦 ...
- 国际原子时(TAI),GPS时间,协调世界时(UTC)以及rinex文件起止时间
最近学习使用PRIDE-PPPAR处理GNSS原始数据,判断rinex文件是不是单天的问题实在让人费解.必应搜索了一下,结合手头上的软件,问题大致弄清楚了. 比如现在有1个rinex文件:GPSR01 ...
- c语言计算日出日落时间_计算日出日落算法实现
首先感谢帮我算题的小玉玉~ 算了一周的日出日落,倍觉痛苦,写下来防止下次再算. 根据经纬度和UTC计算日出日落的思路.算法及scala代码如下~ 日出和日落的计算思路: 一天的日出和日落可以根据正午时 ...
- linux c计算时间差值,获取时间和计算时间差的几种方法总结,时间差几种方法...
获取时间和计算时间差的几种方法总结,时间差几种方法 一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( ...
- 实现时间的计算: 要求用户输入身份证号,若格式有误,要求其重新输入。然后根据身份证号码输出20岁生日所在周的周三的日期
实现时间的计算: 要求用户输入身份证号,若格式有误,要求其重新输入.然后根据身份证号码输出20岁生日所在周的周三的日期(个人笔记,大佬勿喷) package day03;import java.uti ...
- UPS蓄电池放电时间的计算
蓄电池放电时间计算有两种情况,详细如下: 一. UPS带满载蓄电池放电时间计算 设UPS标称功率为P(单位为伏安),用直流(蓄电池)时其转换电压为ZV(单位为伏).转换电流为ZL(单位为安培),蓄电池 ...
- python计算时间差代码_Python3显示当前时间、计算时间差及时间加减法示例代码...
Python3显示当前时间.计算时间差及时间加减法示例代码 摘要 在使用Python写程序时,经常需要输出系统的当前时间以及计算两个时间之间的差值,或者将当前时间加减一定时间(天数.小时.分钟.秒)来 ...
最新文章
- 淘宝特价版给拼多多送芒果,网友:这是什么操作?
- CodeBlocks 更改 gui 程序为 命令行
- 欢迎使用CSDN-markdown编辑器test
- mybatis学习(8):The server time zone value '???ú±ê×??±??' is unrecognized or represents more
- rman备份rman-00554 ,rman-04005错误
- 容器编排技术 -- Kubernetes kubectl label 命令详解
- NVIDIA TESLA M40
- 【高校宿舍管理系统】第六章 用户管理和年级管理
- 2018,广东,深圳马峦山游玩攻略(含登山线路)
- 数据库sql server 2008安装。
- Machine Learning - Coursera week5 Backpropagation in Practice
- 基于51单片机的车速控制系统
- 未初始化的类,通过指针调用其非静态函数
- 《云计算:原理与范式》一3.4 SaaS范式面临的挑战
- GIT 操作中 Reinitialized existing Git repository in.......解决方法?
- 六,华为交换路由做NAT五种方法
- 哥尼斯堡的“七桥问题”(欧拉回路)
- 视频播放(iOS开发)
- sdn 华硕二级路由_Mesh分布式路由器,能否改善全屋WiFi信号覆盖问题,路由组网分享...
- CSS / 三大特性+盒子模型+PS基础