how to convert hours and minutes from decimals to datetime objects

21 ビュー (過去 30 日間)
Salma fathi
Salma fathi 2022 年 12 月 19 日
コメント済み: Salma fathi 2022 年 12 月 21 日
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 =
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 件のコメント
Salma fathi
Salma fathi 2022 年 12 月 21 日
Thank you, it worked perfectly.


その他の回答 (1 件)

prasanth s
prasanth s 2022 年 12 月 19 日
First convert it into string type with the format "yyyy-MM-dd hh-mm" using
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')


Find more on Dates and Time in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by