Converting netCDF time (hours since 1-1-1 00:00:00.0) to actual date
62 views (last 30 days)
Show older comments
Clifford
on 19 Jun 2012
Commented: Walter Roberson
on 4 May 2020
Does anyone out there know how to do the conversion I have noted above? datestr() and datenum() are not helping much. For example:
a = time(1,1);
a = 17298624;
b = datestr(a);
b = 08 - Jan - 7362
When the data is a monthly mean from Jun 1974 with a time step of per month. The files are from www.esrl.noaa.gov.
Thanks!
1 Comment
yaxin sun
on 4 May 2020
This friend,I have some similar problems with yours ,I also want to know that how to deal with this problem about you .
Accepted Answer
Walter Roberson
on 19 Jun 2012
Divide "a" by 24 as it is hours but datestr() needs days. And then add 367 to the result in order to compensate for the time base of 1-1-1 instead of datestr()'s time base of 0-0-0 . (datestr thinks year 0 was a leap year.)
4 Comments
Walter Roberson
on 4 May 2020
In modern times I would say,
datetime(1,1,1) + hours(NumberFromNetCDFFile)
More Answers (0)
See Also
Categories
Find more on NetCDF in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!