Until now, like many others I guess, I represent time in MATLAB with serial datenum doubles, many examples of which I already have saved in dataset arrays in MAT files. This function helps migrate data into the welcome new datetime class that ships in MATLAB since R2014b.
I wrote it for several reasons:
Firstly I already have my own subclass of double ("timestamp") which was a very rudimentary attempt by me to get some of the behaviour that the new datetime class has. Mostly I just wanted to display the times in readable way, while still being able to calculate on them. This function allows me to convert my old class.
The improved precision of datetime over datenum leads to apparent disagreement in display of times, which is confusing.
I want to exchange datenum variables in dataset arrays into datetime so I can actually read them!
I extended this to the new table class too - (new to me as I have extensive use of dataset arrays).
Julian (2020). datenum2datetime(T, vars) (https://www.mathworks.com/matlabcentral/fileexchange/49700-datenum2datetime-t-vars), MATLAB Central File Exchange. Retrieved .