You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
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://www.mathworks.com/matlabcentral/fileexchange/21260-exact-datevec-second-data), MATLAB Central File Exchange. Retrieved .
General Information
- Version 1.0.0.0 (1002 Bytes)
-
No License
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
| Version | Published | Release Notes | Action |
|---|---|---|---|
| 1.0.0.0 |
