Trying to convert 6 digit number to a date

3 vues (au cours des 30 derniers jours)
Simeon
Simeon le 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');

Réponse acceptée

Shivam
Shivam le 5 Sep 2024
Modifié(e) : Shivam le 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 commentaires
Simeon
Simeon le 5 Sep 2024
Brilliant thanks
Walter Roberson
Walter Roberson le 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.)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Calendar dans Help Center et File Exchange

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by