how to convert date to number

1 次查看(过去 30 天)
Hi, I have date as below: 2017/11/28 21:16:42, I want to convert it to number using datenum, but in matlab6p5 it give error that 2017 is too large as month. How can I do this? please help some one.

采纳的回答

Walter Roberson
Walter Roberson 2018-1-11
In MATLAB 6.5, that date format was not supported by datenum(), and that version of datenum() was too early to allow you to pass in a custom date specification.
I suggest that you use sscanf() to break apart the string into numeric pieces, and you can then pass those pieces in to datenum(). Your entries happen to be in the right order so you do not need to re-arrange the numeric parts:
S = '2017/11/28 21:16:42';
datenum( sscanf(S, '%d/%d/%d %d:%d:%d') )
  11 个评论
Walter Roberson
Walter Roberson 2018-1-19
There are two ways you could proceed:
1) https://www.mathworks.com/help/releases/R13sp2/techdoc/ref/etime.html etime() calculates time differences in seconds, which you could then convert to hours; or
2) subtract the two datenum() results to get time differences in days, which you could then convert to hours.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Time Series Objects 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by