基于MATLAB日期和时间算术运算与国际原子时转日期

16 篇文章 36 订阅

集结号

大气、海洋、陆地遥感交流QQ群:831106035。欢迎大家的加入,群内可以讨论与大气、陆地、海洋…遥感相关的问题,可以分享与上述兴趣相关的资源。祝大家学习愉快。

引言

在读取卫星数据时,扫描廓线获取时间有一或两种类型,常用的时间是系统是,国际原子时(TAI,International Atomic Time)和协调世界时(UTC,Coordinated Universal Time)。

TAI时间转日期

TAI = 7.328560373679167e+05;
matlab_serial_date = (TAI + 725846400 - 6)/86400 + datenum('1/1//1970');
datestr(matlab_serial_date,21) 

结果

ans =

Jan.09,1993 11:34:10

日期和时间算术运算

官网有详细的运算例子。使用datetime函数可以对时间进行算数运算。
datetime转字符串:

DateStrings = {'2014-05-26';'2014-08-03'};
t = datetime(DateStrings,'InputFormat','yyyy-MM-dd')

t(1)-t(2)

注意:datetime函数使用的字符串格式 yyyy-MM-dd HH:mm:ss,表示年月日时分秒。

这里需要注意与datestr用法上的区别,这个函数里的yyyy-mm-dd HH:MM:SS,表示年月日时分秒。

dt = datestr(now,'yyyy-mm-dd HH:MM:SS')
% Year
y = datestr( dt, 'yyyy' ); % >> y = '2018'
% Month
m = datestr( dt, 'mm' );   % >> m = '06'
m = datestr( dt, 'mmm' );  % >> m = 'Jun'
% Day
d = datestr( dt, 'dd' );   % >> d = '27'
d = datestr( dt, 'ddd' );  % >> d = 'Wed'

分别获得年月日时分秒

dt.Year
dt.Month
dt.Day
dt.Hour

Day of Year 转年月日

year1 = 2010;     %2010年
dayofyear = 59;  %2010年的第59天
out = datetime(year1,1,dayofyear)   % 转出该天是几月几日

参考
https://en.wikipedia.org/wiki/International_Atomic_Time

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值