Coverting specific string containing date to datetime

18 views (last 30 days)
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'

Accepted Answer

Stephen23
Stephen23 on 9 Mar 2021
Edited: Stephen23 on 9 Mar 2021
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

More Answers (1)

Joanna Przeworska
Joanna Przeworska on 9 Mar 2021
Dear Cris and Stephen,
Thank you for your suggestions.
Kind regards,
JP

Categories

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