Datestr() transforms the matrix of days

1 view (last 30 days)
sun
sun on 9 Sep 2020
Edited: sun on 9 Sep 2020
I have a matrix with the number of days converted using datenum(). Now I want to convert back to the original date, but the result is wrong.The code is as follows:
day=[737433;737445;737457;737469;737481;737493;737505]
value=datestr(day(1:7),'yyyymmdd');
value=str2num(value);
The execution result is:
value=[101;102;103;104;105;106;107];
actually the results should be
[20190108;20190120;20190201;20190213;20190225;20190309;20190321]
How should I solve this problem? Thank you

Answers (1)

Star Strider
Star Strider on 9 Sep 2020
I cannot reproduce that. I get what the reults should be (in R2020a):
day=[737433;737445;737457;737469;737481;737493;737505];
value=datestr(day(1:7),'yyyymmdd')
value=str2num(value)
producing:
value =
7×8 char array
'20190108'
'20190120'
'20190201'
'20190213'
'20190225'
'20190309'
'20190321'
and:
value =
20190108
20190120
20190201
20190213
20190225
20190309
20190321
.
  5 Comments
Walter Roberson
Walter Roberson on 9 Sep 2020
At the time that happens, please show us the content of day(1) and also show us
which -all datestr

Sign in to comment.

Categories

Find more on Dates and Time in Help Center and File Exchange

Tags

Products


Release

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!