how to convert hours and minutes from decimals to datetime objects

13 次查看(过去 30 天)
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,

采纳的回答

Peter Perkins
Peter Perkins 2022-12-19
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.

更多回答(1 个)

prasanth s
prasanth s 2022-12-19
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')

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by