Exact Datevec Second Data
No License
This function bypasses the problem with rounded date values, caused by the floating point representation of the datetime.
If you do datevec(datenum([ 0 0 0 0 1 0 ])) in Matlab it returns [ 0 0 0 0 0 59.999999999999993 ], which can be annoying when, for example, adding a datenum value for 1 minute to a datenum value for 12:23:00 resulting in 12:23:59.999... Now even rounding doesn't help you as it returns 12:23:60 instead of 12:24:00.
If you use this function: exactDatevecSecondData(datenum([ 0 0 0 0 1 0 ])) it returns [ 0 0 0 0 1 0 ], making it the solution to the previous example as it returns 12:24:00.
NOTICE: This function fails if you are working with higher precision then seconds (e.g. milliseconds)
Cite As
Patrick Flick (2026). Exact Datevec Second Data (https://se.mathworks.com/matlabcentral/fileexchange/21260-exact-datevec-second-data), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0.0 |
