how to convert hours and minutes from decimals to datetime objects

13 Ansichten (letzte 30 Tage)
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,

Akzeptierte Antwort

Peter Perkins
Peter Perkins am 19 Dez. 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.

Weitere Antworten (1)

prasanth s
prasanth s am 19 Dez. 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')

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by