Create a numeric variable DATE+HOUR

2 次查看(过去 30 天)
Hi. I hope you're ok.
I write this question because I want to create a new numeric variable which contains the date (i.e. 12/09/2019) and the hour (i.e. 01:15:20). I did this in Excel and the result is given in the following photo:
However, If I try to do this in MATLAB (R19b) the result is quite different.
Can you tell me if I'm doing something wrong? I don't know if the sintaxis of the date and hour are correct, and if not, what's wrong with that (I want the result given in my Excel sheet).
Thanks!
David

采纳的回答

Adam Danz
Adam Danz 2021-2-7
编辑:Adam Danz 2021-2-7
There's rarely a good reason to use datenum rather than datetime values. See Why are datetime arrays better than datenum?
% Convert to datetime
Time = '01:15:02 12/09/19';
datetime(Time,'InputFormat','HH:mm:ss MM/dd/yy')
ans = datetime
09-Dec-2019 01:15:02
Date numbers in Excel represent the number of days since Jan 1 1900 whereas date numbers in Matlab represent the number of days since Jan 1,0000 so there's a 693960 day difference (see documentation).
If you have the Financial Toolbox you could use x2mdate / m2xdate or you could convert it on your own using the offset mentioned in the documentation.
  4 个评论
David E.S.
David E.S. 2021-2-7
Is it possible to do that conversion from date to number, using the 'ConvertForm', 'excel'?
Thanks!
Adam Danz
Adam Danz 2021-2-7
编辑:Adam Danz 2021-2-7
Sure use either of the following syntaxes
Excel supports two date systems that start from 1900 or 1904 which is reason for the second argument.

请先登录,再进行评论。

更多回答(0 个)

类别

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

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by