爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 17767|回复: 7

[程序设计] Matlab读取nc文件的time变量如何将日期数字转换为实际时间

[复制链接]

新浪微博达人勋

发表于 2018-7-25 10:52:59 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
NC文件里的时间变量的日期数字。
%T4KC8WL~T6XK~6RJHAUD`F.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-1-24 21:31:58 | 显示全部楼层
zhaohaoran999 发表于 2021-1-20 16:17
time1=time/24+datenum(1900,1,1);
for i=1:1460
time2(i,1:10)=datestr(time1(i),'yyyy-mm-dd');

好的,非常感谢,问题已解决,我这个是小时,但是一般的时间戳都是秒,所以应该*3600
unix时间戳是从1970年1月1日0:0:0开始算秒的,那种是标准的格林威治时间戳,但我这个是从1900年1月1日0:0:0开始算的,所以又需要更改起始时间
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-1-20 16:17:14 | 显示全部楼层
潘W七七七 发表于 2021-1-14 21:42
请问楼主解决了吗?我用了ncdisp,datestr,datetime,datenum均显示失败

time1=time/24+datenum(1900,1,1);
for i=1:1460
time2(i,1:10)=datestr(time1(i),'yyyy-mm-dd');
end

这是用ERA5的资料进行提取数据的程序,你可以试一试。1900这个时间是参考时间,不同的数据会有同的参考时间,可以用ncdisp进行查询。
密码修改失败请联系微信:mofangbao
回复 支持 0 反对 1

使用道具 举报

新浪微博达人勋

发表于 2018-7-25 13:55:42 | 显示全部楼层
1.ncdisp看一下文件里关于时间的描述.
2.datenum和datestr了解一下.
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-7-25 15:38:54 | 显示全部楼层
HALF 发表于 2018-7-25 13:55
1.ncdisp看一下文件里关于时间的描述.
2.datenum和datestr了解一下.

好的,谢谢。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-1-14 21:42:59 | 显示全部楼层
请问楼主解决了吗?我用了ncdisp,datestr,datetime,datenum均显示失败
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-6-16 10:34:11 | 显示全部楼层
time1=datestr((hours(time)+datenum('1900-1-1-00:00')));

参考时间自己ncdisp查了自己改
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-9-11 14:58:03 | 显示全部楼层
建议看一下帮助中心的datetime函数,对于几个标准参考时间的time都有专门的参数,我ERA5 single-level的nc数据,1970-1-1 00:00:00为参考时间的,用的time1 = datetime(TimeData,'ConvertFrom','epochtime');直接搞定
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表