Converting cell array containing date strings to weekday?
Show older comments
Hello, I have a 366*1 cell array containing date string such as '2015-01-01'. I want to change this date string to weekday such as Monday, Tuesday..etc. What function should I have to use? Thanks!
Answers (1)
Star Strider
on 1 Apr 2017
Use the weekday function:
date_cell = {'2015-01-01'; '2015-01-02'; '2015-01-03'};
dn = datenum(date_cell, 'yyyy-mm-dd');
[~,DayOfWeek] = weekday(dn,'long')
DayOfWeek =
3×8 char array
'Thursday'
'Friday '
'Saturday'
4 Comments
Jinah Lee
on 1 Apr 2017
Star Strider
on 1 Apr 2017
My pleasure.
I have no idea what your ‘rawData’ has. The syntax you are using does not appear to be correct.
Try this:
dn = datenum(rawData{:}(:,1), 'yyyy-mm-dd');
[~,DayOfWeek] = weekday(dn,'long')
Without your ‘rawData’ cell array, I cannot test this, so I am guessing this is the correct way to address your cell array.
Jinah Lee
on 1 Apr 2017
Star Strider
on 1 Apr 2017
I had to create a cell array that resembled yours in order to get the addressing correct.
This works:
rawData = {'Date' 'Number'; '2015-01-01' 10; '2015-01-02' 5; '2015-01-03' 7};
dv = {rawData{2:end,1}};
dn = datenum(dv, 'yyyy-mm-dd');
[~,DayOfWeek] = weekday(dn,'long')
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!