Convert Text into Date Format

5 vues (au cours des 30 derniers jours)
JBA Miller
JBA Miller le 1 Mar 2021
Commenté : Allen le 26 Mai 2021
Hi, I struggle a lot!
I want to convert the text 196307 into a date format that MATLAB recognizes as "July 1963".
How can I do that?
  1 commentaire
Allen
Allen le 26 Mai 2021
JBA,
If any of the suggested solutions were able to solve your problem please do not forget to accept the answer. This will help other people that are looking for a similar answer know what works. Otherwise perhaps you can include what problems you may still be running into with the provided solutions.
Thanks,
Allen

Connectez-vous pour commenter.

Réponses (3)

dpb
dpb le 1 Mar 2021
>> datetime('196307','InputFormat','yyyyMM')
ans =
datetime
01-Jul-1963
>>
or
>> datetime([floor(196307/100) 196307-floor(196307/100)*100 1])
ans =
datetime
01-Jul-1963
>>
Your choice depending upon whether you're starting with a string or a number.

Allen
Allen le 1 Mar 2021
Try the following:
% Code works with either a string or numerical input
str = '196307';
datestr(datenum(str,'yyyymm'),'mmmm yyyy')
num = 196307;
datestr(datenum(num,'yyyymm'),'mmmm yyyy')

Steven Lord
Steven Lord le 1 Mar 2021
If you have a number:
x = 196307;
datetime(100*x+1, 'ConvertFrom', 'yyyymmdd')
ans = datetime
01-Jul-1963
If you have text:
y = string(x);
datetime(y, 'InputFormat', 'yyyyMM')
ans = datetime
01-Jul-1963
  1 commentaire
dpb
dpb le 1 Mar 2021
datetime(100*x+1, 'ConvertFrom', 'yyyymmdd')
Clever! +1

Connectez-vous pour commenter.

Catégories

En savoir plus sur Introduction to Installation and Licensing dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by