Fraction of a day to HH:MM:SS

11 次查看(过去 30 天)
Good day everyone.
I have a date, 17037.46688591, and want to convert it to a datetime.
I'm not sure what to include in the datetime InputFormat to allow for the fraction of a day to get the HH:MM:SS.
I can get the date:
inputdate = '17037.46688591';
jday = inputdate(1:5);
date = datetime(jday,'InputFormat','yyDDD')
date = 06-Feb-2017
How do I get .46688591 into HH:MM:SS?
I've tried a few things but I must be doing something wrong. Thanks for the help.

采纳的回答

Guillaume
Guillaume 2017-2-9
This would work:
inputdate = '17037.46688591';
jday = inputdate(1:5);
date = datetime(jday, 'InputFormat', 'yyDDD') + days(mod(str2double(inputdate), 1))
assuming that .46688591 is a fraction of a day.
  1 个评论
Charlie Wood
Charlie Wood 2017-2-9
Awesome, thank you. Answer came out exactly as needed. Didn't think to just use days() to turn it into a duration. I think I need more coffee/practice. Thanks again.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by