Trying to convert 6 digit number to a date

3 Ansichten (letzte 30 Tage)
Simeon
Simeon am 5 Sep. 2024
Kommentiert: Walter Roberson am 5 Sep. 2024
I have a table of values such as '060724' that I want to convert to dates so that I can then sort them by date but when I use datetime() I can't seem to get it to work. So for the example above I would want it to say '6th July 2024' so is there a way to do it? My code is
date = 060724
dates(x,:) = datetime(date,'Locale','en_GB','InputFormat','D-MM-uu');

Akzeptierte Antwort

Shivam
Shivam am 5 Sep. 2024
Bearbeitet: Shivam am 5 Sep. 2024
Hi Simeon,
The format 'D-MM-uu' you are using won't work because it doesn't match the structure of your input string. Instead, you should use 'ddMMyy' as the InputFormat since your string represents the day, month, and year without any delimiters.
% Example date string
dateStr = '060724';
% Convert to datetime
dateObj = datetime(dateStr, 'InputFormat', 'ddMMyy', 'Format', 'd MMMM yyyy');
% Display the result
disp(dateObj);
6 July 2024
You can visit the documentation of datetime to know more:
Hope it helps.
  2 Kommentare
Simeon
Simeon am 5 Sep. 2024
Brilliant thanks
Walter Roberson
Walter Roberson am 5 Sep. 2024
Note too that the input to datetime() is a character vector (or string) rather than numeric.
datetime() does have the ability to convert some kinds of numeric values, using the ConvertFrom option, but mmddyy is not one of the supported options. (yyyymmdd is a supported option though.)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by