time date to datenum and datenum to datetime
93 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ismita
le 26 Avr 2022
Réponse apportée : Corey Silva
le 18 Mai 2022
I have time in 'yyyy-MM-dd''T''HH:mm:ss.SSS''Z' formate (e.g., [2018-08-01T20:05:00.000Z; 2018-08-01T20:10:00.000Z; 2018-08-01T20:35:00.000Z; 2018-08-01T25:05:00.000Z] . How to make time string and datetime to datenum and datenum to datetime?
Thanks in advance.
(I am new in matlab.)
5 commentaires
Stephen23
le 26 Avr 2022
Modifié(e) : Stephen23
le 26 Avr 2022
"But I need it serially here"
What is the exact operation that requires a serial date number?
Both DATETIME and DURATION objects support many many methods and functions, if you actually explained how you are going to process your data then we could help you use a better approach.
Réponse acceptée
Bruno Luong
le 26 Avr 2022
Modifié(e) : Bruno Luong
le 26 Avr 2022
I make a round conversion so you can convert any format to any other by using the appropriate substeps
dt=datetime(2022,04,28,13,09,00,'Format','yyyy-MM-dd''T''HH:mm:ss.SSS''Z''')
dn=datenum(dt)
ds = datestr(dn)
dt = datetime(ds,'InputFormat','dd-MMM-yyyy HH:mm:SS','Format','yyyy-MM-dd''T''HH:mm:ss.SSS''Z''')
Plus de réponses (2)
Steven Lord
le 26 Avr 2022
I'm going to assume that you've imported this data into MATLAB as a string array or a cellstr with two columns. Since I don't have the file or whatever other source this data comes from, I'll hard code it so my example can operate on it.
S = ["2008-01-01T00:00:00.000Z", "-1.06";
"2008-01-01T00:05:00.000Z", "-1";
"2008-01-01T00:10:00.000Z", "-1.76";
"2008-01-01T00:15:00.000Z", "-2.09"];
Let's create a datetime array using the first column of S.
fmt = 'yyyy-MM-dd''T''HH:mm:ss.SSS''Z''';
dt = datetime(S(:, 1), 'InputFormat', fmt, 'Format', fmt)
Now to create a double array using the second column of S.
n = double(S(:, 2))
Finally, storing this date and time data along with the numeric data in a timetable array would let us perform future operations on the data easily.
T = timetable(dt, n)
1 commentaire
Corey Silva
le 18 Mai 2022
While serial date numbers (datenum) can represent dates and times, it is recommended that you use datetime values to represent points in time, and durationor calendarDuration values to represent elapsed times.
0 commentaires
Voir également
Catégories
En savoir plus sur Dates and Time dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!