Problem with input for the datetime function
15 views (last 30 days)
Show older comments
datum=
'01.06.2014'
'02.06.2014'
'03.06.2014'
'04.06.2014'
'05.06.2014'
I want to convert them to a Matlab recognised date array, so that I can ultimately determine in which Calender Week they fall in (using the function week)
My code looks like this:
%reading in the data file and isolating the weekday column
dateiname='ABGERUFENE_SRL_BETR_IST-WERTE_20140601_20140630_Netzregelverbund_20150408-225302.CSV';
[num text raw]=xlsread(dateiname);
raw([1 2 3 4 5],:) = [];
datum=raw(:,1)
%conversion into date
datum=datetime(datum, 'InputFormat','dd.mm.yyyy');
However this returns the error message: ??? Undefined function or method 'datetime' for input arguments of type 'cell'. It should be able to handle a string, so I don't understand the problem. I have used the query
iscellstr(datum)
which returns a 1, so I really don't know why the error appears. I have also tried using the "text" data - that doesn't work either.
Any help troubleshooting will be much appreciated!!!!!
1 Comment
Guillaume
on 9 Jul 2015
Your datum is not a string, it's a cell array of string. These are two different types. It should not matter however, as datetime can handle both types.
Which version of matlab are you using?
Also note that your input format is wrong, it should be: 'dd.MM.yyyy'. datenum and datetime use different format symbols for minutes and months)
Accepted Answer
Sean de Wolski
on 9 Jul 2015
datetime was released in R2014b so if you're using an earlier release, you'll need to upgrade to use it.
This works fine for me in 15a (though you need to use MM instead of mm months instead of minutes).
datum=datetime({'08.07.2015'}, 'InputFormat','dd.MM.yyyy');
More Answers (0)
See Also
Categories
Find more on Dates and Time 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!