フィルターのクリア

How to convert from decimal time to hh:mm:ss

18 ビュー (過去 30 日間)
Caroline
Caroline 2013 年 7 月 29 日
コメント済み: John Rodriguez 2019 年 2 月 21 日
I am using xlsread to read an excel spreadsheet. One of the values that it is reading is time. Inside the spreadsheet the time is in the correct format (hh:mm:ss), however the value that xlsread returns for the time is a decimal. Does anyone know how to convert this value to the hh:mm:ss format in either MATLAB or C++?
Thanks!

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 7 月 29 日
datestr(yournumber,'HH:MM:SS')
  3 件のコメント
Mohamed Nedal
Mohamed Nedal 2017 年 11 月 22 日
Hello Azzi, I've tried your answer on this time ( 2637 minutes) but I've got
00:00:00
Could you please tell me how to convert this time in this case?
John Rodriguez
John Rodriguez 2019 年 2 月 21 日
I'm getting the same result. My data is in the format HHMMSS and I want it to go to HH:MM:SS. I'm now just getting 00:00:00 for my full array.

サインインしてコメントする。

その他の回答 (2 件)

Jan
Jan 2013 年 7 月 29 日
編集済み: Jan 2013 年 7 月 29 日
Microsoft has bee so smart to invent two different serial date numbers: One for Windows and one for Macs.
if ismac
MatlabDate = datestr(ExcelDateNum + 695422, 13);
else
MatlabDate = datestr(ExcelDateNum + 693960, 13);
end
Unfortunately this is very wrong, because it does not matter, if the current computer is a Mac, but if the Excel file was stored on a Mac. But I do not know a method to find out this detail.

Peter Perkins
Peter Perkins 2017 年 11 月 29 日
Unless you are using an older version of MATLAB, you are likely better off using readtable (instead of xlsread) and datetime (instead of datestr and datenum). Even if you use xlsread to read Excel serial date numbers, you can use
dates = datetime(excelDates,'ConvertFrom','excel') % or 'excel1904'
  2 件のコメント
Tunga Rangaswamy
Tunga Rangaswamy 2018 年 12 月 5 日
編集済み: Tunga Rangaswamy 2018 年 12 月 5 日
This works great! It produces date in day-month-year format and time in hh:mm:ss format. How do I get time in hh:mm:ss.mmm (including milliseconds)?
Peter Perkins
Peter Perkins 2018 年 12 月 11 日
Assuming you mean "the time portion of a datetime", you'd need to set the Format property to include HH:mm:ss.SSS. Look at the documentation for datetime.Format.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by