# Convert time column from hours to ddmmmyyyy HH:MM:SS

1 view (last 30 days)
Phoebe Armitage on 5 Nov 2020
Commented: Peter Perkins on 20 Nov 2020
My time column is in hours (0000 01JAN1900=0hr) and starts from 999,312h (meaning 0000 01JAN2014). How would I convert a column vector of times (hrs) into a column of time in ddmmmyyyy HH:MM:SS format?
KSSV on 5 Nov 2020

Stephen on 5 Nov 2020
Edited: Stephen on 5 Nov 2020
dth = 999312 + [0;1;12;24;36;42;31*24] % fake data
dth = 7×1
999312 999313 999324 999336 999348 999354 1000056
dtm = datetime(dth*60*60, 'ConvertFrom','epochtime','Epoch','1900-01-01', 'Format','ddMMMyyyy HH:mm:ss')
dtm = 7×1 datetime array
01Jan2014 00:00:00 01Jan2014 01:00:00 01Jan2014 12:00:00 02Jan2014 00:00:00 02Jan2014 12:00:00 02Jan2014 18:00:00 01Feb2014 00:00:00
Peter Perkins on 20 Nov 2020
Just to be clear: "whereas MATLAB counts days from day zero of year zero" refers to the older way of working with dates/times in MATLAB. The newer better way to do it is, as Stephen says, datetime, which doesn't work like that. datetime has been around since R2014b.

Steven Lord on 5 Nov 2020
dth = 999312 + [0;1;12;24;36;42] % fake data
start = datetime(1900, 1, 1);
dates = start + hours(dth)
Stephen on 5 Nov 2020
+1 very nice

### Community Treasure Hunt

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

Start Hunting!

Translated by