how to convert hours and minutes from decimals to datetime objects

30 views (last 30 days)
having as the follwing two columns from a table, the first column represents the year-month-day and the second column represent hours and minutes in decimal based on the equation (hour+min/60), how can I mrge the two columns to get at the end a full datetim object with the format
yyyy-MM-dd hh-mm?
thanks a lot in advance,

Accepted Answer

Peter Perkins
Peter Perkins on 19 Dec 2022
Converting to string is totally unnecessary. Assuming the first variable in the table is already a datetime:
>> t = datetime(2008,05,07);
>> t + hours(15.9)
ans =
datetime
07-May-2008 15:54:00
If the first var is not a datetime, figure out why, and make it one. And probably make the table a timetable.

More Answers (1)

prasanth s
prasanth s on 19 Dec 2022
First convert it into string type with the format "yyyy-MM-dd hh-mm" using
hours_decimal=15.9
myDate=string("2008-05-07 ")+string(floor(hours_decimal))+"-"+string(60*(hours_decimal-floor(hours_decimal)))
convert to datetime object using using
t = datetime(myDate,'InputFormat','yyyy-MM-dd HH-mm')

Categories

Find more on MATLAB in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!