I want to convert one time format into another type

10 vues (au cours des 30 derniers jours)
Lia Kirtadze
Lia Kirtadze le 20 Août 2022
Commenté : dpb le 20 Août 2022
I have date and time data in this form '16-Aug-0022 04:39:55 PM' and I want to convert it in this form '08/16/2022 16:39:00'. Can you provide me with corresponding scripts
thank you in advance
  1 commentaire
dpb
dpb le 20 Août 2022
While @Star Strider provides a way to read these, I'd ask how got the malformed date string in the beginning and suggest fixing that issue.

Connectez-vous pour commenter.

Réponses (2)

Chunru
Chunru le 20 Août 2022
Modifié(e) : Chunru le 20 Août 2022
str = '16-Aug-0022 04:39:55 PM';
t = datetime(str, 'InputFormat', 'dd-MMM-yyyy hh:mm:ss a'); % convert to datetime type
t.Year = t.Year + 2000; % add 2000 year
t.Format = 'MM/dd/yyyy HH:mm:ss'; % change the output format
t
t = datetime
08/16/2022 16:39:55

Star Strider
Star Strider le 20 Août 2022
Another approach —
dt1 = '16-Aug-0022 04:39:55 PM';
dt2 = datetime(dt1, 'InputFormat','dd-MMM-00yy hh:mm:ss a', 'Format','MM/dd/yyyy HH:mm:ss')
dt2 = datetime
08/16/2022 16:39:55
Note the specific 'InputFormat' string that accounts for the first two numbers of the year being '00'. No other conversion required!
.

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by