function [yr, month, day, hh, mm, ss] = zyDatevec(year,Daynum)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%将TLE数据中的日期转换为X月X日X:X:X.X的格式
%输入数据为
%1. year: 年份,行向量。输入年份的后两位,如17(2017年),98(1998年);
%2. Daynum:一年中的日期数,行向量。
yr = year + 2000 - (year >= 57).*100; %此程序在1957-2056年间使用。
RunNian = 1 - ceil(mod(year,4)/3); %润年为1,非润年为0
Zdate = floor(Daynum); %中间量,日期的整数。
Cdate = Zdate - (Zdate > 59).*RunNian; %修正日期,对润年第60天以后的日子减1。
month = (Cdate > 31) + (Cdate > 59) + (Cdate > 90) + (Cdate > 120) + ...
(Cdate > 151) + (Cdate > 181) + (Cdate > 212) + (Cdate > 243) + ...
(Cdate > 273) + (Cdate > 304) + (Cdate > 334) + 1;
day = Cdate - (Cdate > 31).*31 - (Cdate > 59).*28 - (Cdate > 90).*31 - ...
(Cdate > 120).*30 - (Cdate > 151).*31 - (Cdate > 181).*30 - ...
(Cdate > 212).*31 - (Cdate > 243).*31 - (Cdate > 273).*30 - ...
(Cdate > 304).*31 - (Cdate > 334).*30;
%需再次对日期进行修正。
%润年时,3月1日以后的日期总天数已经减去1天,所以3~12月的总天数与月份时期是正确对应的
%只有2月29日当天的总天数减去了1天,但与月份不对应,需将这一天再加1。
day = day + (Zdate == 60).*RunNian;
%将时间转换为X:X:X.X格式
time = Daynum-Zdate; tt1=time*24;
hh = floor(tt1); tt2=(tt1-hh)*60;
mm = floor(tt2);
ss=(tt2-mm)*60;
没有合适的资源?快使用搜索试试~ 我知道了~
TLE数据时间格式转换matlab源代码
共1个文件
m:1个
需积分: 32 50 下载量 63 浏览量
2018-01-07
08:23:12
上传
评论 3
收藏 842B RAR 举报
温馨提示
将TLE数据中的日期时间格式转换成年月日时分秒格式,matlab源码。
资源推荐
资源详情
资源评论
收起资源包目录
Datevec.rar (1个子文件)
zyDatevec.m 1KB
共 1 条
- 1
资源评论
zz_19800101
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功