MATLAB: Coverting specific string containing date to datetime

datetimestring

Dear all,
Let say I have a dataset with the variable 'Period', which want to convert to a datetime: 2012-12-01; 2013-03-01, 2013-06-01, …
I know I must somehow extract year and quarter from the variable and create new datetime variable based on that, could you help me with the exact code?
Period
'2012_Q4'
'2013_Q1'
'2013_Q2'
'2013_Q3'
'2013_Q4'
'2014_Q1'
'2014_Q2'
'2014_Q3'
'2014_Q4'

Best Answer

C = {...
'2012_Q4'
'2013_Q1'
'2013_Q2'
'2013_Q3'
'2013_Q4'
'2014_Q1'
'2014_Q2'
'2014_Q3'
'2014_Q4'};
T = datetime(C, 'InputFormat','yyyy_QQQ', 'Format','yyyy-MM-dd');
T = T + calmonths(2)
T = 9×1 datetime array
2012-12-01 2013-03-01 2013-06-01 2013-09-01 2013-12-01 2014-03-01 2014-06-01 2014-09-01 2014-12-01