I got wrong data when i use datetime convertfrom

5 views (last 30 days)
Hi I attached time(year:1999) data. It was nc data so when I use ncdisp, its units = 'hours since 1800-01-01 00:00:0.0'
I tried to convert it by
t=datetime(time,'Convertfrom',datenum);
And I got the answer like
'4780-11-26'
'4780-12-20'
.
.
.
Yeah it is wrong.
How can I get proper 1999 date?

Accepted Answer

Stephen23
Stephen23 on 15 Sep 2022
S = load('time.mat');
D = S.time
D = 365×1
1744392 1744416 1744440 1744464 1744488 1744512 1744536 1744560 1744584 1744608
T = datetime(1800,1,1) + hours(D)
T = 365×1 datetime array
01-Jan-1999 02-Jan-1999 03-Jan-1999 04-Jan-1999 05-Jan-1999 06-Jan-1999 07-Jan-1999 08-Jan-1999 09-Jan-1999 10-Jan-1999 11-Jan-1999 12-Jan-1999 13-Jan-1999 14-Jan-1999 15-Jan-1999 16-Jan-1999 17-Jan-1999 18-Jan-1999 19-Jan-1999 20-Jan-1999 21-Jan-1999 22-Jan-1999 23-Jan-1999 24-Jan-1999 25-Jan-1999 26-Jan-1999 27-Jan-1999 28-Jan-1999 29-Jan-1999 30-Jan-1999
  1 Comment
주희 박
주희 박 on 15 Sep 2022
Edited: 주희 박 on 15 Sep 2022
Thank you so much! It works well:)

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 15 Sep 2022
dt = hours(t) + datetime('1800-01-01 00:00:0.0')

Categories

Find more on Matrices and Arrays 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!

Translated by