Convert Text into Date Format

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 个评论

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

请先登录,再进行评论。

回答(3 个)

>> 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.
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')
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

类别

帮助中心File Exchange 中查找有关 Calendar 的更多信息

评论:

2021-5-26

Community Treasure Hunt

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

Start Hunting!

Translated by