Time interval of a continuous record
2 views (last 30 days)
Show older comments
I would like to find the dureation between the following times. This is piece of a group of data called A.
NaN
22:00:00
23:00:00
00:00:00
01:00:00
NaN
16:00:00
17:00:00
NaN
06:00:00
NaN
14:00:00
15:00:00
16:00:00
NaN
The duration is one hour so it should display as:
NaN
01:00:00
01:00:00
01:00:00
01:00:00
NaN
01:00:00
01:00:00
NaN
01:00:00
NaN
01:00:00
01:00:00
01:00:00
NaN
3 Comments
Siddharth Bhutiya
on 1 Apr 2022
You mentioned that this is just an example, so in your original data, what is the data type of these values? Are these stored as durations or datetimes? If you are storing these as durations then as Steven mentioned above you are using durations to represents datetimes with some implicit assumptions. This will always mean you would have to do more work to get the right behavior. On the other hand if these were datetimes, then this becomes a simple call to diff
d
d =
15×1 datetime array
NaT
04-01-2022 22:00:00
04-01-2022 23:00:00
04-02-2022 00:00:00
04-02-2022 01:00:00
NaT
04-01-2022 16:00:00
04-01-2022 17:00:00
NaT
04-01-2022 06:00:00
NaT
04-01-2022 14:00:00
04-01-2022 15:00:00
04-01-2022 16:00:00
NaT
diff(d)
ans =
14×1 duration array
NaN
01:00:00
01:00:00
01:00:00
NaN
NaN
01:00:00
NaN
NaN
NaN
NaN
01:00:00
01:00:00
NaN
Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!