MATLAB: Does the DATENUM function return incorrect result in MATLAB 7.0 (R14)

000:00datenumerrorinaccurateincorrectMATLABr14year

This behavior can be reproduced using the following commands:
1. use the DATESTR command to convert a date number to a date string:
datestr(1)
This returns the expected result:
ans =
01-Jan-0000
2. Reverse the action by using the DATENUM command to convert the output string back to a date number:
datenum(datestr(1))
The expected output should be 1; however, it is 367.
ans =
367
This error only affects the year 0000.

Best Answer

This bug has been fixed for Release 14 SP1 (R14SP1). For previous releases, please read below for any possible workarounds:
This occurs because the year 0000 is only a reference year, and is not recognized as an actual year.
To workaround this issue, avoid using dates that utilize the year 0000.