Fraction of a day to HH:MM:SS

11 visualizzazioni (ultimi 30 giorni)
Charlie Wood
Charlie Wood il 9 Feb 2017
Commentato: Charlie Wood il 9 Feb 2017
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.

Risposta accettata

Guillaume
Guillaume il 9 Feb 2017
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 Commento
Charlie Wood
Charlie Wood il 9 Feb 2017
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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Dates and Time in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by