Date time conversion fail
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Karel Starý
le 29 Août 2022
Réponse apportée : Steven Lord
le 29 Août 2022
Hello all,
I would like to conver a time to num format so i can do some basic math on it and then I wold like to format t back to day time format.
TimeFormat = 'yyyymmddHHMMSS';
st_file=cell(1,1);%Memory prealocation
t = w_files{2,1}(1,"time") %I am pulling a time from my data: 2022-08-08 10:18:12.000
t =
table
time
_______________________
2022-08-08 10:18:12.000
t = table2array(t)%Converting it to cell because datestr does not work as it is right now
t =
datetime
2022-08-08 10:18:12.000
t = datestr(t,TimeFormat);%Making it a str
t =
'20220808101812'
t = datetime(t,"InputFormat",TimeFormat)%Changing it back to date time format
t =
datetime
08-Oct-2020 08:22:00
Is this how is the sotware intended to work? Where am I making a mistake and how can I avoid it in the future. Thanks!
0 commentaires
Réponse acceptée
Karim
le 29 Août 2022
From the looks of it, you need to change the months (M) and minutes (m) symbols in your time format to convert the string into expected datetime. See below:
TimeFormat = 'yyyyMMddHHmmSS';
t = "20220808101812"
t = datetime(t,"InputFormat",TimeFormat)
2 commentaires
Walter Roberson
le 29 Août 2022
datetime() was written using ISO standard codes for date and time. datestr() is older than the ISO standard.
Plus de réponses (1)
Steven Lord
le 29 Août 2022
I would like to conver a time to num format so i can do some basic math on it
What math do you want to do to the time data? There may be a way to avoid converting from time to number and back. For example:
T = datetime('today')
nextMonth = T + calmonths(1)
startOfThisMonth = dateshift(T, 'start', 'month')
0 commentaires
Voir également
Catégories
En savoir plus sur Calendar 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!