how to convert hours and minutes from decimals to datetime objects
    16 views (last 30 days)
  
       Show older comments
    
    Salma fathi
 on 19 Dec 2022
  
    
    
    
    
    Commented: Salma fathi
 on 21 Dec 2022
            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, 
0 Comments
Accepted Answer
  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
      
 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')
0 Comments
See Also
Categories
				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!