@Star Strider Sorry, I can't share the data because it is sensitive but I can give a subset.
Matlab is mixing MONTH and DAY up
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Louise Wilson
il 18 Mar 2021
Commentato: Star Strider
il 22 Mar 2021
Hello, I have a datetime array where the format is dd/MM/yyyy, but when I used ymd(), Matlab tells me that day is month and month is day. Using format() just rearranges the date but retains the confusion between day and month.
How do I rectify this, how can I dictate to Matlab which is the month and which is the day?
[y,m,d]=ymd(gps.LOCALDATE(1))
y =
2021
m =
9 %this is actually the day
d = %this is actually the month
3
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/555267/image.png)
Risposta accettata
Star Strider
il 22 Mar 2021
Modificato: Star Strider
il 22 Mar 2021
Try this:
D = load('gps.mat');
gps = D.gps;
LOCALDATETIME = datetime(string(gps.LOCALDATE),'InputFormat','dd/MM/yyyy', 'Format','dd/MM/yyyy HH:mm:ss') + gps.LOCALTIME;
with:
First_5_Rows = LOCALDATETIME(1:5)
producing:
First_5_Rows =
5×1 datetime array
09/03/2021 08:42:31
09/03/2021 08:42:32
09/03/2021 08:42:34
09/03/2021 08:42:35
09/03/2021 08:42:36
Since ‘gps.LOCALDATE’ is already a datetime array, converting it first to a string variable allowed datetime to parse it correctly.
EDIT — Added explanation.
2 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Dates and Time in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!