Why does datenum('n​ull','yyyy​mmdd') return an actual date?

1 view (last 30 days)
As part of date manipulation, I need to convert a whole array of string dates into numbers? This array may sometimes contain 'null' elements which I should probably take out first.
I was just curious to why
datenum('null','yyyymmdd')
returns 736330 (i.e. 01-Jan-16) and doesn't fail? For example,
datenum('null')
would return an error

Accepted Answer

Jos (10584)
Jos (10584) on 21 Dec 2016
The help of DATENUM states:
Certain formats may not contain enough information to compute a date number. In those cases, hours, minutes, and seconds default to 0, days default to 1, months default to January, and years default to the current year.
Hence the value of 736330. Furthermore, if you do not specify the format identifier (the second argument), the help tells you that
If S is a string, it must be in one of the date formats 0,1,2,6,13,14,15,16,23 as defined by DATESTR.
which is definitely not the case with S being 'null'.

More Answers (0)

Categories

Find more on Dates and Time in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!