Why do "datenum" and "datestr" not give the same date after conversion?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
MathWorks Support Team
il 19 Apr 2018
Modificato: MathWorks Support Team
il 3 Lug 2024
I am using the "datenum" function to create an object and get the date as a string using "datestr". I pass "20101231" (31-Dec-2010) as input to "datenum" but get back "31-Jan-2010" from "datestr" instead.
Following code shows how I am using the functions.
>> a = datenum('20101231','YYYYMMDD');
>> b = datestr(a)
b =
'31-Jan-2010 00:12:00'
Risposta accettata
MathWorks Support Team
il 25 Giu 2024
Modificato: MathWorks Support Team
il 3 Lug 2024
The issue happens because "MM" is the format for 'minute' in "datenum".
You can use the lower case "mm" to get the expected output:
>> a = datenum('20101231','YYYYmmDD');
>> b = datestr(a)
b =
'31-Dec-2010'
To avoid the future confusion, we highly recommend using "datetime" with more intuitive letter identifiers, for example
>> a = datetime('2010-12-31')
a =
datetime
31-Dec-2010
>> a = datetime('2010-12-31','InputFormat','yyyy-MM-dd')
a =
datetime
31-Dec-2010
0 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!